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)); }
/// <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); } }
/// <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(); }
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)); }