Пример #1
0
 public ActionResult CreateSpecialPolicy(RequestSpecialPolicy policy)
 {
     CommunicateManager.Invoke <IConsoLocalPolicyService>(p =>
     {
         if (policy.ID == default(Guid))
         {
             p.AddSpeaiaPolicy(policy);
         }
         else
         {
             p.UpdateSpeaiaPolicy(policy);
         }
     });
     return(Json(null, JsonRequestBehavior.DenyGet));
 }
Пример #2
0
        /// <summary>
        /// 修改特价政策
        /// </summary>
        /// <param name="policy"></param>
        public void UpdateSpeaiaPolicy(RequestSpecialPolicy policy)
        {
            var currentUser = AuthManager.GetCurrentUser();
            var localPolicy = this.localPolicyRepository.FindAll(p => p.ID == policy.ID && p.Code == currentUser.Code).FirstOrDefault();

            if (localPolicy == null)
            {
                throw new CustomException(500, "政策不存在或被删除");
            }
            string oldStr = localPolicy.ToString();

            Mapper.Map <RequestSpecialPolicy, LocalPolicy>(policy, localPolicy);
            unitOfWorkRepository.PersistUpdateOf(localPolicy);
            unitOfWork.Commit();
            try
            {
                Logger.WriteLog(LogType.INFO, oldStr + "__" + localPolicy.ToString());
            }
            catch (Exception e)
            {
                Logger.WriteLog(LogType.ERROR, "写入错误", e);
            }
        }
Пример #3
0
        /// <summary>
        /// 新增特价政策
        /// </summary>
        /// <param name="policy"></param>
        public void AddSpeaiaPolicy(RequestSpecialPolicy policy)
        {
            var           currentUser = AuthManager.GetCurrentUser();
            var           builder     = AggregationFactory.CreateBuiler <LocalPolicyBuilder>();
            SpecialPolicy localPolicy = builder.CreateSpecialPolicy(Mapper.Map <RequestSpecialPolicy, SpecialPolicy>(policy));

            localPolicy.CreateMan = currentUser.OperatorName;
            localPolicy.RoleType  = currentUser.Type;
            localPolicy.Code      = currentUser.Code;
            if (currentUser.Type == "Supplier")
            {
                localPolicy.CarrierCode = currentUser.CarrierCode;
                var bm = this.businessmanRepository.FindAllNoTracking(p => p.Code == currentUser.CarrierCode).OfType <Carrier>().FirstOrDefault();
                if (bm != null)
                {
                    localPolicy.CarrierWeek             = bm.RestWork.WeekDay;
                    localPolicy.Carrier_AnnulTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.NormalWork.ServiceOnLineTime,
                        EndTime   = bm.NormalWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_ReturnTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.NormalWork.ServiceOnLineTime,
                        EndTime   = bm.NormalWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_WorkTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.NormalWork.WorkOnLineTime,
                        EndTime   = bm.NormalWork.WorkUnLineTime
                    };
                    localPolicy.Carrier_WeekAnnulTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.RestWork.ServiceOnLineTime,
                        EndTime   = bm.RestWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_WeekReturnTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.RestWork.ServiceOnLineTime,
                        EndTime   = bm.RestWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_WeekWorkTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.RestWork.WorkOnLineTime,
                        EndTime   = bm.RestWork.WorkUnLineTime
                    };
                }
                var supbm = this.businessmanRepository.FindAllNoTracking(p => p.Code == currentUser.Code).OfType <Supplier>().FirstOrDefault();
                if (supbm != null)
                {
                    localPolicy.SupplierWeek    = supbm.SupRestWork.WeekDay;
                    localPolicy.AnnulTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = supbm.SupNormalWork.ServiceOnLineTime,
                        EndTime   = supbm.SupNormalWork.ServiceUnLineTime
                    };;
                    localPolicy.ReturnTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = supbm.SupNormalWork.ServiceOnLineTime,
                        EndTime   = supbm.SupNormalWork.ServiceUnLineTime
                    };;
                    localPolicy.WorkTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = supbm.SupNormalWork.WorkOnLineTime,
                        EndTime   = supbm.SupNormalWork.WorkUnLineTime
                    };
                    localPolicy.WeekAnnulTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = supbm.SupRestWork.ServiceOnLineTime,
                        EndTime   = supbm.SupRestWork.ServiceUnLineTime
                    };;
                    localPolicy.WeekReturnTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = supbm.SupRestWork.ServiceOnLineTime,
                        EndTime   = supbm.SupRestWork.ServiceUnLineTime
                    };;
                    localPolicy.WeeKWorkTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = supbm.SupRestWork.WorkOnLineTime,
                        EndTime   = supbm.SupRestWork.WorkUnLineTime
                    };
                }
            }
            else
            {
                localPolicy.CarrierCode = currentUser.Code;
                var bm = this.businessmanRepository.FindAllNoTracking(p => p.Code == currentUser.Code).OfType <Carrier>().FirstOrDefault();
                if (bm != null)
                {
                    localPolicy.CarrierWeek             = bm.RestWork.WeekDay;
                    localPolicy.Carrier_AnnulTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.NormalWork.ServiceOnLineTime,
                        EndTime   = bm.NormalWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_ReturnTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.NormalWork.ServiceOnLineTime,
                        EndTime   = bm.NormalWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_WorkTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.NormalWork.WorkOnLineTime,
                        EndTime   = bm.NormalWork.WorkUnLineTime
                    };
                    localPolicy.Carrier_WeekAnnulTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.RestWork.ServiceOnLineTime,
                        EndTime   = bm.RestWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_WeekReturnTicketTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.RestWork.ServiceOnLineTime,
                        EndTime   = bm.RestWork.ServiceUnLineTime
                    };;
                    localPolicy.Carrier_WeekWorkTime = new BPiaoBao.DomesticTicket.Platform.Plugin.StartAndEndTime
                    {
                        StartTime = bm.RestWork.WorkOnLineTime,
                        EndTime   = bm.RestWork.WorkUnLineTime
                    };
                }
            }
            unitOfWorkRepository.PersistCreationOf(localPolicy);
            unitOfWork.Commit();
        }
Пример #4
0
        public JsonResult Import()
        {
            if (HttpContext.Cache[System.Web.HttpContext.Current.Request.Cookies["auth"].Values["token"]] == null)
            {
                throw new CustomException(400, "请选择导入文件");
            }
            DataTable dt = HttpContext.Cache[System.Web.HttpContext.Current.Request.Cookies["auth"].Values["token"]] as DataTable;
            List <RequestSpecialPolicy> specialList = new List <RequestSpecialPolicy>();
            List <RequestNormalPolicy>  localList   = new List <RequestNormalPolicy>();

            foreach (DataRow row in dt.Rows)
            {
                if (!row.Table.Columns.Contains("特价类型") || (row.Table.Columns.Contains("特价类型") & string.IsNullOrEmpty(row["特价类型"].ToString())))
                {
                    RequestNormalPolicy requestPolicy = new RequestNormalPolicy()
                    {
                        ReleaseType     = (EnumReleaseType)int.Parse(!string.IsNullOrEmpty(row["发布类型"].ToString()) ? row["发布类型"].ToString() : "0"),
                        TravelType      = (EnumTravelType)int.Parse(!string.IsNullOrEmpty(row["行程类型"].ToString())? row["行程类型"].ToString() : "0"),
                        FromCityCodes   = !string.IsNullOrEmpty(row["出发城市"].ToString()) ? row["出发城市"].ToString().ToUpper() : string.Empty,
                        ToCityCodes     = !string.IsNullOrEmpty(row["到达城市"].ToString()) ? row["到达城市"].ToString().ToUpper() : string.Empty,
                        Low             = !string.IsNullOrEmpty(row["是否低开"].ToString()) ? Convert.ToBoolean(int.Parse(row["是否低开"].ToString())) : false,
                        ChangeCode      = !string.IsNullOrEmpty(row["是否换编码"].ToString()) ? Convert.ToBoolean(int.Parse(row["是否换编码"].ToString())) : false,
                        Share           = !string.IsNullOrEmpty(row["适用共享航班"].ToString()) ? Convert.ToBoolean(int.Parse(row["适用共享航班"].ToString())) : false,
                        WeekLimit       = !string.IsNullOrEmpty(row["班期限制"].ToString()) ? row["班期限制"].ToString() : string.Empty,
                        Apply           = !string.IsNullOrEmpty(row["适用航班"].ToString()) ? (EnumApply)int.Parse(row["适用航班"].ToString()) : EnumApply.All,
                        ApplyFlights    = !string.IsNullOrEmpty(row["航班"].ToString()) ? row["航班"].ToString() : string.Empty,
                        CarrayCode      = !string.IsNullOrEmpty(row["航空公司"].ToString()) ? row["航空公司"].ToString().ToUpper() : string.Empty,
                        Seats           = !string.IsNullOrEmpty(row["舱位"].ToString()) ? row["舱位"].ToString() : string.Empty,
                        Office          = !string.IsNullOrEmpty(row["Office"].ToString()) ? row["Office"].ToString() : string.Empty,
                        LocalPolicyType = !string.IsNullOrEmpty(row["政策类型"].ToString()) ? row["政策类型"].ToString() : string.Empty,
                        LocalPoint      = !string.IsNullOrEmpty(row["本地返点"].ToString()) ? Convert.ToDecimal(row["本地返点"]) : default(decimal),
                        Different       = !string.IsNullOrEmpty(row["异地返点"].ToString()) ? Convert.ToDecimal(row["异地返点"]) : default(decimal),
                        PassengeDate    = new ClientDateLimit
                        {
                            StartTime = !string.IsNullOrEmpty(row["乘机开始日期"].ToString()) ? Convert.ToDateTime(row["乘机开始日期"]) : DateTime.Now.Date,
                            EndTime   = !string.IsNullOrEmpty(row["乘机结束日期"].ToString()) ? Convert.ToDateTime(row["乘机结束日期"]) : DateTime.Now.AddYears(1).Date
                        },
                        IssueDate = new ClientDateLimit
                        {
                            StartTime = !string.IsNullOrEmpty(row["出票开始日期"].ToString()) ? Convert.ToDateTime(row["出票开始日期"]) : DateTime.Now.Date,
                            EndTime   = !string.IsNullOrEmpty(row["出票结束日期"].ToString()) ? Convert.ToDateTime(row["出票结束日期"]) : DateTime.Now.AddYears(1).Date
                        },
                        IssueTicketWay = (EnumIssueTicketWay)int.Parse(row["出票方式"].ToString() != "" ? row["出票方式"].ToString() : "0"),
                        Remark         = !string.IsNullOrEmpty(row["出发城市"].ToString()) ? row["政策备注"].ToString() : string.Empty
                    };
                    localList.Add(requestPolicy);
                }
                else
                {
                    RequestSpecialPolicy requestPolicy = new RequestSpecialPolicy()
                    {
                        ReleaseType     = (EnumReleaseType)int.Parse(!string.IsNullOrEmpty(row["发布类型"].ToString()) ? row["发布类型"].ToString() : "0"),
                        TravelType      = (EnumTravelType)int.Parse(!string.IsNullOrEmpty(row["行程类型"].ToString()) ? row["行程类型"].ToString() : "0"),
                        FromCityCodes   = !string.IsNullOrEmpty(row["出发城市"].ToString()) ? row["出发城市"].ToString().ToUpper() : string.Empty,
                        ToCityCodes     = !string.IsNullOrEmpty(row["到达城市"].ToString()) ? row["到达城市"].ToString().ToUpper() : string.Empty,
                        Low             = !string.IsNullOrEmpty(row["是否低开"].ToString()) ? Convert.ToBoolean(int.Parse(row["是否低开"].ToString())) : false,
                        ChangeCode      = !string.IsNullOrEmpty(row["是否换编码"].ToString()) ? Convert.ToBoolean(int.Parse(row["是否换编码"].ToString())) : false,
                        Share           = !string.IsNullOrEmpty(row["适用共享航班"].ToString()) ? Convert.ToBoolean(int.Parse(row["适用共享航班"].ToString())) : false,
                        WeekLimit       = !string.IsNullOrEmpty(row["班期限制"].ToString()) ? row["班期限制"].ToString() : string.Empty,
                        Apply           = !string.IsNullOrEmpty(row["适用航班"].ToString()) ? (EnumApply)int.Parse(row["适用航班"].ToString()) : EnumApply.All,
                        ApplyFlights    = !string.IsNullOrEmpty(row["航班"].ToString()) ? row["航班"].ToString() : string.Empty,
                        CarrayCode      = !string.IsNullOrEmpty(row["航空公司"].ToString()) ? row["航空公司"].ToString().ToUpper() : string.Empty,
                        Seats           = !string.IsNullOrEmpty(row["舱位"].ToString()) ? row["舱位"].ToString() : string.Empty,
                        Office          = !string.IsNullOrEmpty(row["Office"].ToString()) ? row["Office"].ToString() : string.Empty,
                        LocalPolicyType = !string.IsNullOrEmpty(row["政策类型"].ToString()) ? row["政策类型"].ToString() : string.Empty,
                        LocalPoint      = !string.IsNullOrEmpty(row["本地返点"].ToString()) ? Convert.ToDecimal(row["本地返点"]) : default(decimal),
                        Different       = !string.IsNullOrEmpty(row["异地返点"].ToString()) ? Convert.ToDecimal(row["异地返点"]) : default(decimal),
                        PassengeDate    = new ClientDateLimit
                        {
                            StartTime = !string.IsNullOrEmpty(row["乘机开始日期"].ToString()) ? Convert.ToDateTime(row["乘机开始日期"]) : DateTime.Now.Date,
                            EndTime   = !string.IsNullOrEmpty(row["乘机结束日期"].ToString()) ? Convert.ToDateTime(row["乘机结束日期"]) : DateTime.Now.AddYears(1).Date
                        },
                        IssueDate = new ClientDateLimit
                        {
                            StartTime = !string.IsNullOrEmpty(row["出票开始日期"].ToString()) ? Convert.ToDateTime(row["出票开始日期"]) : DateTime.Now.Date,
                            EndTime   = !string.IsNullOrEmpty(row["出票结束日期"].ToString()) ? Convert.ToDateTime(row["出票结束日期"]) : DateTime.Now.AddYears(1).Date
                        },
                        IssueTicketWay = (EnumIssueTicketWay)int.Parse(!string.IsNullOrEmpty(row["出票方式"].ToString()) ? row["出票方式"].ToString() : "0"),
                        Remark         = !string.IsNullOrEmpty(row["政策备注"].ToString()) ? row["政策备注"].ToString() : string.Empty,
                        Type           = (FixedOnSaleType)int.Parse(!string.IsNullOrEmpty(row["固定特价类型"].ToString()) ? row["固定特价类型"].ToString() : "0"),
                        FixedSeatPirce = !string.IsNullOrEmpty(row["特价金额"].ToString()) ? Convert.ToDecimal(row["特价金额"]) : default(decimal),
                        SpecialType    = (SpeciaType)int.Parse(!string.IsNullOrEmpty(row["特价类型"].ToString()) ? row["特价类型"].ToString() : "0"),
                    };
                    specialList.Add(requestPolicy);
                }
            }
            HttpContext.Cache.Remove(System.Web.HttpContext.Current.Request.Cookies["auth"].Values["token"]);
            if (specialList.Count > 0)
            {
                CommunicateManager.Invoke <IConsoLocalPolicyService>(p => p.ImportPolicy(specialList));
            }
            if (localList.Count > 0)
            {
                CommunicateManager.Invoke <IConsoLocalPolicyService>(p => p.ImportPolicy(localList));
            }
            return(Json(null, JsonRequestBehavior.DenyGet));
        }