|  | @@ -0,0 +1,406 @@
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +using AutoMapper;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain.Dtos.Financial;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain.Dtos.Groups;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain.Entities.Financial;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain.Entities.Groups;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain.ViewModels.Financial;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Domain.ViewModels.Groups;
 | 
												
													
														
															|  | 
 |  | +using OASystem.Infrastructure.Repositories.System;
 | 
												
													
														
															|  | 
 |  | +using Org.BouncyCastle.Asn1.Cms;
 | 
												
													
														
															|  | 
 |  | +using System;
 | 
												
													
														
															|  | 
 |  | +using System.Collections.Generic;
 | 
												
													
														
															|  | 
 |  | +using System.Linq;
 | 
												
													
														
															|  | 
 |  | +using System.Security.Cryptography;
 | 
												
													
														
															|  | 
 |  | +using System.Text;
 | 
												
													
														
															|  | 
 |  | +using System.Threading.Tasks;
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +namespace OASystem.Infrastructure.Repositories.Groups
 | 
												
													
														
															|  | 
 |  | +{
 | 
												
													
														
															|  | 
 |  | +    public class VisaPriceRepository : BaseRepository<Grp_VisaInfo, VisaPriceDto>
 | 
												
													
														
															|  | 
 |  | +    {
 | 
												
													
														
															|  | 
 |  | +        private readonly IMapper _mapper;
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +        public VisaPriceRepository(SqlSugarClient sqlSugar,IMapper mapper)
 | 
												
													
														
															|  | 
 |  | +            : base(sqlSugar)
 | 
												
													
														
															|  | 
 |  | +        {
 | 
												
													
														
															|  | 
 |  | +            _mapper=mapper;
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +        
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +        /// <summary>
 | 
												
													
														
															|  | 
 |  | +        /// 根据diid查询签证费用列表
 | 
												
													
														
															|  | 
 |  | +        /// </summary>
 | 
												
													
														
															|  | 
 |  | +        /// <param name="dto"></param>
 | 
												
													
														
															|  | 
 |  | +        /// <returns></returns>
 | 
												
													
														
															|  | 
 |  | +        public async Task<Result> PostVisaByDiId(VisaPriceDto dto)
 | 
												
													
														
															|  | 
 |  | +        {
 | 
												
													
														
															|  | 
 |  | +            Result result = new Result() { Code = -2, Msg = "未知错误" };
 | 
												
													
														
															|  | 
 |  | +            try
 | 
												
													
														
															|  | 
 |  | +            {
 | 
												
													
														
															|  | 
 |  | +                string sqlWhere = string.Empty;
 | 
												
													
														
															|  | 
 |  | +                if (!string.IsNullOrWhiteSpace(dto.VisaClient))
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    sqlWhere += string.Format(@" And v.VisaClient like '%{0}%'", dto.VisaClient);
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                
 | 
												
													
														
															|  | 
 |  | +                sqlWhere += string.Format(@"And v.DIId={0} and v.isdel={1}", dto.DiID, 0);
 | 
												
													
														
															|  | 
 |  | +                string UserId = "";
 | 
												
													
														
															|  | 
 |  | +                List<Grp_GroupsTaskAssignment> gtaUIdList = _sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(a => a.DIId == dto.DiID && a.IsDel == 0 && a.CTId == 80).ToList();
 | 
												
													
														
															|  | 
 |  | +                foreach (Grp_GroupsTaskAssignment gta in gtaUIdList)
 | 
												
													
														
															|  | 
 |  | +                    UserId += gta.UId + ",";
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                if (!string.IsNullOrWhiteSpace(UserId))
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    UserId = UserId.Substring(0, UserId.Length - 1);
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                sqlWhere += string.Format(@" And v.CreateUserId in ({0})", UserId);
 | 
												
													
														
															|  | 
 |  | +                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    Regex r = new Regex("And");
 | 
												
													
														
															|  | 
 |  | +                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                string sql = string.Format(@"select *,(select IsAuditGM from Grp_CreditCardPayment where CTable=80 and CId=v.Id) IsAuditGM,(select Name from Sys_SetData where isdel=0 and v.VisaCurrency=Id) VisaCurrencyStr from Grp_VisaInfo v {0} order by CreateTime desc", sqlWhere);
 | 
												
													
														
															|  | 
 |  | +                List<VisaInfoView> infoViews = _sqlSugar.SqlQueryable<VisaInfoView>(sql).ToList();
 | 
												
													
														
															|  | 
 |  | +                if (infoViews.Count != 0)
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    if (dto.PageIndex != 0 && dto.PageSize != 0)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                        int count = infoViews.Count;
 | 
												
													
														
															|  | 
 |  | +                        float totalPage = (float)count / dto.PageSize;//总页数
 | 
												
													
														
															|  | 
 |  | +                        if (totalPage == 0) totalPage = 1;
 | 
												
													
														
															|  | 
 |  | +                        else totalPage = (int)Math.Ceiling((double)totalPage);
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                        List<VisaInfoView> visaInfosPage = new List<VisaInfoView>();
 | 
												
													
														
															|  | 
 |  | +                        for (int i = 0; i < dto.PageSize; i++)
 | 
												
													
														
															|  | 
 |  | +                        {
 | 
												
													
														
															|  | 
 |  | +                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
 | 
												
													
														
															|  | 
 |  | +                            if (RowIndex < infoViews.Count)
 | 
												
													
														
															|  | 
 |  | +                            {
 | 
												
													
														
															|  | 
 |  | +                                visaInfosPage.Add(infoViews[RowIndex]);
 | 
												
													
														
															|  | 
 |  | +                            }
 | 
												
													
														
															|  | 
 |  | +                            else
 | 
												
													
														
															|  | 
 |  | +                            {
 | 
												
													
														
															|  | 
 |  | +                                break;
 | 
												
													
														
															|  | 
 |  | +                            }
 | 
												
													
														
															|  | 
 |  | +                        }
 | 
												
													
														
															|  | 
 |  | +                        ListViewBase<VisaInfoView> rst = new ListViewBase<VisaInfoView>();
 | 
												
													
														
															|  | 
 |  | +                        rst.DataList = visaInfosPage;
 | 
												
													
														
															|  | 
 |  | +                        rst.DataCount = count;
 | 
												
													
														
															|  | 
 |  | +                        rst.CurrPageIndex = dto.PageIndex;
 | 
												
													
														
															|  | 
 |  | +                        rst.CurrPageSize = dto.PageSize;
 | 
												
													
														
															|  | 
 |  | +                        return result = new Result() { Code = 0, Msg = "查询成功!", Data = rst };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        return result = new Result() { Code = 0, Msg = "查询成功!", Data = infoViews };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                else
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    if (dto.PageIndex != 0 && dto.PageSize != 0)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        ListViewBase<VisaInfoView> rst = new ListViewBase<VisaInfoView>();
 | 
												
													
														
															|  | 
 |  | +                        rst.DataList = infoViews;
 | 
												
													
														
															|  | 
 |  | +                        rst.DataCount = infoViews.Count;
 | 
												
													
														
															|  | 
 |  | +                        rst.CurrPageIndex = dto.PageIndex;
 | 
												
													
														
															|  | 
 |  | +                        rst.CurrPageSize = dto.PageSize;
 | 
												
													
														
															|  | 
 |  | +                        return result = new Result() { Code = 0, Msg = "暂无数据!", Data = rst };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        return result = new Result() { Code = 0, Msg = "暂无数据!", Data = infoViews };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +            catch (Exception)
 | 
												
													
														
															|  | 
 |  | +            {
 | 
												
													
														
															|  | 
 |  | +                return result = new Result() { Code = -2, Msg = "未知错误" };
 | 
												
													
														
															|  | 
 |  | +                throw;
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +        /// <summary>
 | 
												
													
														
															|  | 
 |  | +        /// 根据签证费用Id查询单条数据及c表数据
 | 
												
													
														
															|  | 
 |  | +        /// </summary>
 | 
												
													
														
															|  | 
 |  | +        /// <param name="dto"></param>
 | 
												
													
														
															|  | 
 |  | +        /// <returns></returns>
 | 
												
													
														
															|  | 
 |  | +        public async Task<Result> PostVisaById(PostVisaByIdDto dto)
 | 
												
													
														
															|  | 
 |  | +        {
 | 
												
													
														
															|  | 
 |  | +            Result result = new Result() { Code = -2, Msg = "未知错误" };
 | 
												
													
														
															|  | 
 |  | +            try
 | 
												
													
														
															|  | 
 |  | +            {
 | 
												
													
														
															|  | 
 |  | +                Grp_VisaInfo _VisaInfo = _sqlSugar.Queryable<Grp_VisaInfo>().First(a => a.Id == dto.Id && a.IsDel==0);
 | 
												
													
														
															|  | 
 |  | +                Grp_CreditCardPayment _CreditCardPayment = _sqlSugar.Queryable<Grp_CreditCardPayment>().First(a=>a.CId==dto.Id && a.IsDel==0 && a.CTable==80);
 | 
												
													
														
															|  | 
 |  | +                var data = new
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    _VisaInfo = _VisaInfo,
 | 
												
													
														
															|  | 
 |  | +                    _CreditCardPayment = _CreditCardPayment
 | 
												
													
														
															|  | 
 |  | +                };
 | 
												
													
														
															|  | 
 |  | +                return result = new Result() { Code = 0, Msg = "暂无数据!", Data = data };
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +            catch (Exception ex)
 | 
												
													
														
															|  | 
 |  | +            {
 | 
												
													
														
															|  | 
 |  | +                return result = new Result() { Code = -2, Msg = "未知错误" };
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +        /// <summary>
 | 
												
													
														
															|  | 
 |  | +        /// 签证费用录入操作(Status:1.新增,2.修改)
 | 
												
													
														
															|  | 
 |  | +        /// </summary>
 | 
												
													
														
															|  | 
 |  | +        /// <param name="dto"></param>
 | 
												
													
														
															|  | 
 |  | +        /// <returns></returns>
 | 
												
													
														
															|  | 
 |  | +        public async Task<Result> OpVisaPrice(OpVisaPriceDto dto)
 | 
												
													
														
															|  | 
 |  | +        {
 | 
												
													
														
															|  | 
 |  | +            Result result = new Result() { Code = -2, Msg = "未知错误" };
 | 
												
													
														
															|  | 
 |  | +            BeginTran();
 | 
												
													
														
															|  | 
 |  | +            try
 | 
												
													
														
															|  | 
 |  | +            {
 | 
												
													
														
															|  | 
 |  | +                int id = 0;
 | 
												
													
														
															|  | 
 |  | +                Grp_VisaInfo grp_Visa1 = _mapper.Map<Grp_VisaInfo>(dto);
 | 
												
													
														
															|  | 
 |  | +                Grp_CreditCardPayment c = _mapper.Map<Grp_CreditCardPayment>(dto);
 | 
												
													
														
															|  | 
 |  | +                c.PayMoney = grp_Visa1.VisaPrice;
 | 
												
													
														
															|  | 
 |  | +                Grp_TeamRate _TeamRate = _sqlSugar.Queryable<Grp_TeamRate>().First(a => a.DiId == dto.DiId && a.IsDel == 0 && a.CTable == 80);
 | 
												
													
														
															|  | 
 |  | +                if (_TeamRate != null)
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    int OtherRateId = 0;
 | 
												
													
														
															|  | 
 |  | +                    Sys_SetData setData = _sqlSugar.Queryable<Sys_SetData>().First(a => a.IsDel == 0 && a.Id == _TeamRate.OtherRateId);
 | 
												
													
														
															|  | 
 |  | +                    if (setData != null)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        OtherRateId = setData.Id;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                    #region 汇率换算
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                    if (grp_Visa1.VisaCurrency == 49)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateU;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateU;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (OtherRateId == grp_Visa1.VisaCurrency)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.OtherPrice;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.OtherPrice;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 51)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateE;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateE;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 50)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateJ;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateJ;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 55)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateH;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateH;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 56)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateN;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateN;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 65)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateS;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateS;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 54)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateA;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateA;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 53)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateC;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateC;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 63)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateT;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateT;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 68)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateBL;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateBL;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 69)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateHB;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateHB;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 336)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateFJD;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateFJD;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 337)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateTL;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateTL;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 338)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateRP;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateRP;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 341)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RatePeso;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RatePeso;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 342)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateMYR;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateMYR;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 344)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateCZK;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateCZK;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 345)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateMXN;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateMXN;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 354)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateMOP;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateMOP;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 359)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateARS;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateARS;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 361)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateHUF;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateHUF;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else if (grp_Visa1.VisaCurrency == 362)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney * _TeamRate.RateRUB;
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = _TeamRate.RateRUB;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.DayRate = 1;
 | 
												
													
														
															|  | 
 |  | +                        c.RMBPrice = c.PayMoney;
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                else
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    c.DayRate = 1;
 | 
												
													
														
															|  | 
 |  | +                    c.RMBPrice = c.PayMoney;
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                #endregion
 | 
												
													
														
															|  | 
 |  | +                if (dto.Status==1)//添加
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +                    Grp_VisaInfo grp_Visa =_sqlSugar.Queryable<Grp_VisaInfo>().First(a=>a.IsDel==0 && a.VisaCurrency==dto.VisaCurrency && a.VisaPrice==dto.VisaPrice && a.VisaClient==dto.VisaClient);
 | 
												
													
														
															|  | 
 |  | +                    if (grp_Visa!=null)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        return result = new Result() { Code = -1, Msg = "该笔费用已存在,请勿重复添加!" };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        id = await AddAsyncReturnId(grp_Visa1);
 | 
												
													
														
															|  | 
 |  | +                        if (id!=0)
 | 
												
													
														
															|  | 
 |  | +                        {
 | 
												
													
														
															|  | 
 |  | +                            c.PayMoney = dto.VisaPrice;
 | 
												
													
														
															|  | 
 |  | +                            c.PaymentCurrency = dto.VisaCurrency;
 | 
												
													
														
															|  | 
 |  | +                            c.Remark = dto.CRemark;
 | 
												
													
														
															|  | 
 |  | +                            c.PayPercentage = 100;
 | 
												
													
														
															|  | 
 |  | +                            c.CTable = 80;
 | 
												
													
														
															|  | 
 |  | +                            c.CId=id;
 | 
												
													
														
															|  | 
 |  | +                            c.IsAuditGM = 0;
 | 
												
													
														
															|  | 
 |  | +                            if (c.PayDId == 72)
 | 
												
													
														
															|  | 
 |  | +                            {
 | 
												
													
														
															|  | 
 |  | +                                c.IsPay = 1;
 | 
												
													
														
															|  | 
 |  | +                            }
 | 
												
													
														
															|  | 
 |  | +                            int cId = await _sqlSugar.Insertable(c).ExecuteReturnIdentityAsync();
 | 
												
													
														
															|  | 
 |  | +                            if (cId != 0)
 | 
												
													
														
															|  | 
 |  | +                            {
 | 
												
													
														
															|  | 
 |  | +                                 result = new Result() { Code = 0, Msg = "添加成功!" };
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                            }
 | 
												
													
														
															|  | 
 |  | +                            else
 | 
												
													
														
															|  | 
 |  | +                            {
 | 
												
													
														
															|  | 
 |  | +                                RollbackTran();
 | 
												
													
														
															|  | 
 |  | +                                 result = new Result() { Code = -1, Msg = "添加失败!" };
 | 
												
													
														
															|  | 
 |  | +                            }
 | 
												
													
														
															|  | 
 |  | +                        }
 | 
												
													
														
															|  | 
 |  | +                        else
 | 
												
													
														
															|  | 
 |  | +                        {
 | 
												
													
														
															|  | 
 |  | +                            RollbackTran();
 | 
												
													
														
															|  | 
 |  | +                            result = new Result() { Code = -1, Msg = "添加失败,请稍后重试!" };
 | 
												
													
														
															|  | 
 |  | +                        }
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                else if (dto.Status==2)//修改
 | 
												
													
														
															|  | 
 |  | +                {
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                    bool res = await UpdateAsync(a => a.Id == dto.Id, a => new Grp_VisaInfo
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        VisaClient = grp_Visa1.VisaClient,
 | 
												
													
														
															|  | 
 |  | +                        VisaPrice = grp_Visa1.VisaPrice,
 | 
												
													
														
															|  | 
 |  | +                        VisaCurrency = grp_Visa1.VisaCurrency,
 | 
												
													
														
															|  | 
 |  | +                        IsThird = grp_Visa1.IsThird,
 | 
												
													
														
															|  | 
 |  | +                        PassengerType = grp_Visa1.PassengerType,
 | 
												
													
														
															|  | 
 |  | +                        VisaNumber = grp_Visa1.VisaNumber,
 | 
												
													
														
															|  | 
 |  | +                        VisaFreeNumber = grp_Visa1.VisaFreeNumber,
 | 
												
													
														
															|  | 
 |  | +                        Remark = dto.Remark,
 | 
												
													
														
															|  | 
 |  | +                    });
 | 
												
													
														
															|  | 
 |  | +                    if (res)
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        c.PayMoney = dto.VisaPrice;
 | 
												
													
														
															|  | 
 |  | +                        c.PaymentCurrency = dto.VisaCurrency;
 | 
												
													
														
															|  | 
 |  | +                        c.Remark = dto.CRemark;
 | 
												
													
														
															|  | 
 |  | +                        c.PayPercentage = 100;
 | 
												
													
														
															|  | 
 |  | +                        c.CTable = 80;
 | 
												
													
														
															|  | 
 |  | +                        int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.CId == grp_Visa1.Id && a.CTable==80).SetColumns(a => new Grp_CreditCardPayment
 | 
												
													
														
															|  | 
 |  | +                        {
 | 
												
													
														
															|  | 
 |  | +                            PayDId = dto.PayDId,
 | 
												
													
														
															|  | 
 |  | +                            PayMoney = c.PayMoney,
 | 
												
													
														
															|  | 
 |  | +                            PaymentCurrency = c.PaymentCurrency,
 | 
												
													
														
															|  | 
 |  | +                            Payee = c.Payee,
 | 
												
													
														
															|  | 
 |  | +                            OrbitalPrivateTransfer = c.OrbitalPrivateTransfer,
 | 
												
													
														
															|  | 
 |  | +                            DayRate = c.DayRate,
 | 
												
													
														
															|  | 
 |  | +                            RMBPrice = c.RMBPrice,
 | 
												
													
														
															|  | 
 |  | +                            ConsumptionPatterns = c.ConsumptionPatterns,
 | 
												
													
														
															|  | 
 |  | +                            ConsumptionDate = c.ConsumptionDate,
 | 
												
													
														
															|  | 
 |  | +                            CTDId = c.CTDId,
 | 
												
													
														
															|  | 
 |  | +                            CompanyBankNo = c.CompanyBankNo,
 | 
												
													
														
															|  | 
 |  | +                            OtherBankName = c.OtherBankName,
 | 
												
													
														
															|  | 
 |  | +                            OtherSideNo = c.OtherSideNo,
 | 
												
													
														
															|  | 
 |  | +                            OtherSideName = c.OtherSideName,
 | 
												
													
														
															|  | 
 |  | +                            BankNo = c.BankNo,
 | 
												
													
														
															|  | 
 |  | +                            CardholderName = c.CardholderName,
 | 
												
													
														
															|  | 
 |  | +                            Remark = c.Remark,
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                        }).ExecuteCommandAsync();
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +                        result = new Result() { Code = 0, Msg = "修改成功!" };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                    else
 | 
												
													
														
															|  | 
 |  | +                    {
 | 
												
													
														
															|  | 
 |  | +                        RollbackTran();
 | 
												
													
														
															|  | 
 |  | +                        result = new Result() { Code = -1, Msg = "修改失败,请稍后重试!" };
 | 
												
													
														
															|  | 
 |  | +                    }
 | 
												
													
														
															|  | 
 |  | +                }
 | 
												
													
														
															|  | 
 |  | +                CommitTran();
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +            catch (Exception ex)
 | 
												
													
														
															|  | 
 |  | +            {
 | 
												
													
														
															|  | 
 |  | +                 result = new Result() { Code = -2, Msg = "未知错误" };
 | 
												
													
														
															|  | 
 |  | +            }
 | 
												
													
														
															|  | 
 |  | +            return result;
 | 
												
													
														
															|  | 
 |  | +        }
 | 
												
													
														
															|  | 
 |  | +    }
 | 
												
													
														
															|  | 
 |  | +}
 |