public ChangeOrder TransformToChangeOrder() { ChangeOrder co = null; // See if it has already been transformed into a // Change Order...it can only be changed once! if (!this.HasBeenTransformedToChangeOrder) { Project project = ProjectService.GetProject(this.ProjectKey); co = NumberedProjectChildFactory.CreateNumberedProjectChild <ChangeOrder>(project); co.AmountChanged = this.amountChanged; co.ArchitectSignatureDate = this.architectSignatureDate; co.ChangeType = this.changeType; co.Contractor = this.contractor; co.ContractorSignatureDate = this.contractorSignatureDate; co.Description = this.description; co.OwnerSignatureDate = this.ownerSignatureDate; co.PriceChangeDirection = this.priceChangeDirection; co.TimeChanged = this.timeChanged; co.TimeChangeDirection = this.timeChangeDirection; } else { // It was already changed, so get the Change Order that it was // changed into co = ChangeOrderService.GetChangeOrder(this.changeOrderKey); } // Get the key of the Change Order this.changeOrderKey = co.Key; // Return the instance return(co); }
private void Update() { CheckStage(); //Проверяем стадию босса /* if (Cast.Crutch && Crutch) * { * StopAllCoroutines(); * StartCoroutine(CircleAttack()); * Cast.Crutch = false; * Crutch = false; * }*/ BulletSpeed = BSpeed; //Скорость пуль if (sAgain) //КОСТЫЛЬ нужен для возобновления врага, думаю это временный костыль { StopAllCoroutines(); StartCoroutine(CircleAttack()); // Начинаем спамить, опять sAgain = false; // Костыль } if (AttackType == 0 || AttackType == 2) //Выключаем наш SIN-COS ад если используется атака другого типа { VectorTimer(); } if (EnHp == 0) //При смерти врага { GameObject[] bullets = GameObject.FindGameObjectsWithTag("bullets"); //КОСТЫЛЬ находим все пульки на экране foreach (GameObject i in bullets) // Просто удаляем ВСЕ(даже наши) пульки { Destroy(i.gameObject); } } ChangeOrder.ChangeLayerOrder(enemy.GetComponent <Renderer>(), transform, hero.transform); }
public void Test() { int[] array = new int[300]; Random r = new Random(); for (int i = 0; i < array.Length; i++) { array[i] = r.Next(500); } Func <int, bool> condition = i => (i % 3) == 0; // 传入一个int,如果是奇数,返回true ChangeOrder.Execute(array, condition); // 用委托形式封装条件语句,这样可以让用户自己定义规则(这里指怎样的值会被分到前半部分去) //ChangeOrder.Execute(array); bool isOverLine = false; for (int i = 0; i < array.Length; i++) { if (!condition(array[i])) { isOverLine = true; } Assert.True(isOverLine ^ condition(array[i])); } }
public void TransformToChangeOrderTest() { ConstructionChangeDirective ccd = ConstructionChangeDirectiveService.GetConstructionChangeDirective(new Guid("1a2bfe3b-7577-456d-8484-4f34f67ce42c")); ChangeOrder co = ccd.TransformToChangeOrder(); Assert.AreEqual(6, co.Number); }
public void SpecialTest() { ChangeOrder.Execute(null); ChangeOrder.Execute(new int[0]); ChangeOrder.Execute(new int[] { 1 }); }
public void GetPreviousTimeChangedTotalFromTest() { ChangeOrder co = this.repository.FindBy("8d44e769-2f9d-45e8-ba41-724a8947553c"); int expected = 3; int actual = this.repository.GetPreviousTimeChangedTotalFrom(co); Assert.AreEqual(expected, actual); }
void Update() //Обновление скрипта { if (Vector2.Distance(transform.position, playerPos.position) < 2f && lampEnabled == false) { lamp.SetBool("on", true); } ChangeOrder.ChangeLayerOrder(lamprend, transform, playerPos); }
public void GetPreviousAuthorizedAmountFromTest() { ChangeOrder co = this.repository.FindBy("8d44e769-2f9d-45e8-ba41-724a8947553c"); decimal expected = 3000M; decimal actual = this.repository.GetPreviousAuthorizedAmountFrom(co); Assert.AreEqual(expected, actual); }
public void OriginalConstructionCostTest() { object projectKey = new Guid("5704f6b9-6ffa-444c-9583-35cc340fce2a"); int number = 5; ChangeOrder target = new ChangeOrder(projectKey, number); decimal actual = target.OriginalConstructionCost; Assert.AreEqual(100000M, actual); }
public void PreviousAuthorizedChangeOrderAmountTest() { object projectKey = new Guid("5704f6b9-6ffa-444c-9583-35cc340fce2a"); int number = 5; ChangeOrder target = new ChangeOrder(projectKey, number); decimal actual = target.PreviousAuthorizedAmount; Assert.AreEqual(4000M, actual); }
public void PreviousTimeChangedTotalTest() { object projectKey = new Guid("5704f6b9-6ffa-444c-9583-35cc340fce2a"); int number = 5; ChangeOrder target = new ChangeOrder(projectKey, number); int actual = target.PreviousTimeChangedTotal; Assert.AreEqual(4, actual); }
public void ChangeOrderConstructorTestShort() { object projectKey = new Guid("5704f6b9-6ffa-444c-9583-35cc340fce2a"); int number = 5; ChangeOrder target = new ChangeOrder(projectKey, number); // There should be 3 broken rules Assert.AreEqual(3, target.GetBrokenRules().Count); }
private void DownButton_Click(object sender, RoutedEventArgs e) { item selectedItem = (item)DataGridView.SelectedItem; if (selectedItem != null) { ItemsCollection = ChangeOrder.Method(ItemsCollection, selectedItem, Direction.DOWN); } using (StreamWriter sw = File.CreateText(filePath)) { sw.Write(ObservableCollectionToTXT.Method(ItemsCollection)); sw.Close(); } }
public void SaveExistingChangeOrder() { ChangeOrder co = this.repository.FindAll()[0]; this.testContextInstance.WriteLine("Routing Items Count: {0}", co.RoutingItems.Count); DateTime agencyApprovedDate = DateTime.Now.Date; co.AgencyApprovedDate = agencyApprovedDate; this.repository[co.Key] = co; this.unitOfWork.Commit(); // Verify that the Change Order was updated ChangeOrder newChangeOrder = this.repository.FindBy(co.Key); Assert.AreEqual(agencyApprovedDate, newChangeOrder.AgencyApprovedDate); }
public void SetCurrent(LemHeader header) { _headerRecord = header; SetEnabled(_headerRecord.CheckEditable()); var changeOrderList = ChangeOrder.ListForProject(_headerRecord.ProjectId).Select(cs => new { EstimateId = cs.EstimateId, DisplayName = cs.DisplayName }).Distinct().ToList(); changeOrderList.Add(new { EstimateId = -1, DisplayName = "" }); luChangeOrder.DataSource = changeOrderList; tableLabour.Clear(); var list = LabourTimeEntry.GetLabourEntryList(header.Id).ToList(); list.ForEach(lte => { DataRow row = tableLabour.Rows.Add( lte.Id, lte.EmpNum, lte.EmpNum, lte.WorkClassCode, lte.ChangeOrderId, lte.Level1Id, lte.Level2Id, lte.Level3Id, lte.Level4Id, lte.Billable, lte.Manual, lte.IncludedHours, lte.TotalHours, lte.BillAmount); foreach (var timecode in TimeCode.SubList(TimeCode.EnumValueType.Hours)) { row[BillRateI(timecode)] = (object)ProjectWorkClass.GetBillRate(_headerRecord.ProjectId, timecode.MatchId, (string)row[colWorkClass.FieldName]) ?? DBNull.Value; row[EnterHoursI(timecode)] = (object)list.Find(x => x.Id == (int)row[colId.FieldName]).DetailList.SingleOrDefault(d => d.TimeCodeId == timecode.MatchId)?.WorkHours ?? DBNull.Value; } foreach (var timecode in TimeCode.SubList(TimeCode.EnumValueType.Dollars)) { row[EnterAmountI(timecode)] = (object)list.Find(x => x.Id == (int)row[colId.FieldName]).DetailList.SingleOrDefault(d => d.TimeCodeId == timecode.MatchId)?.Amount ?? DBNull.Value; } }); tableLabour.AcceptChanges(); gvLabour.BestFitColumns(true); }
void Update() //Обновление скрипта { if (Vector2.Distance(transform.position, playerPos.position) < 0.9f) { Character1.IndicatorOn(); IsPlayerExited = false; if ((Input.GetKeyDown(KeyCode.E) || moveScript.activate && !Enabled)) { totem.SetBool("fired", true); GameObject.Find("AudioSystem").GetComponent <AudioSystem>().CallSound(7, 0.8f); Enabled = true; Wall.counttoop = Wall.counttoop * 10 + key; if (Wall.countconst == Wall.counttoop) { GameObject.Find("AudioSystem").GetComponent <AudioSystem>().CallSound(10, 0.8f); Wall.Open(); } moveScript.activate = false; return; } } else if (!IsPlayerExited) { IsPlayerExited = true; Character1.IndicatorOff(); } if (Vector2.Distance(transform.position, playerPos.position) < 0.9f) { Character1.IndicatorOn(); IsPlayerExited = false; if ((Input.GetKeyDown(KeyCode.E) || moveScript.activate && Enabled)) { totem.SetBool("fired", false); Wall.counttoop = Wall.counttoop / 10; Enabled = false; moveScript.activate = false; return; } } else if (!IsPlayerExited) { IsPlayerExited = true; Character1.IndicatorOff(); } ChangeOrder.ChangeLayerOrder(rend, transform, playerPos); }
void Update() //Обновление скрипта { if (Vector2.Distance(transform.position, playerPos.position) < 0.9f && (Input.GetKeyDown(KeyCode.E) && !Enabled)) { totem.SetBool("fired", true); Enabled = true; Wall.counttoop = Wall.counttoop * 10 + key; Wall.Open(); return; } if (Vector2.Distance(transform.position, playerPos.position) < 0.9f && (Input.GetKeyDown(KeyCode.E) && Enabled)) { totem.SetBool("fired", false); Wall.counttoop = Wall.counttoop / 10; Enabled = false; return; } ChangeOrder.ChangeLayerOrder(rend, transform, playerPos); }
public override void Display() { Console.Clear(); DisplayHeader(); string date = Input.GetDate("Enter the date of the file to remove orders from that date: "); SetTestOrProd.MyOrderObject.LoadOrderFile(date); RejectEmptyDate(); Console.WriteLine("\nALL ORDERS FOR {0}:", date); Console.WriteLine(); Output.DisplayAllOrders(); int orderNumber = Input.GetInteger("Enter the order number to delete: "); var myTestVariable = WorkingMemory.OrderList; if (orderNumber <= WorkingMemory.OrderList.Count) { var order = from o in WorkingMemory.OrderList.ToList() where o.OrderNumber == orderNumber select o; foreach (var k in order) { WorkingMemory.OrderList.Remove(k); } } Console.Clear(); Console.WriteLine("\nALL ORDERS FOR {0}:", date); Console.WriteLine(); Output.DisplayAllOrders(); var result = Input.QueryForCommit(); ChangeOrder.CommitChangesToFile(result); Output.DisplayCommitResults(result); WorkingMemory.OrderList.Clear(); Screen next = new HomeScreen(); Screen.JumpScreen(next); }
public override void Display() { Console.Clear(); DisplayHeader(); string date = Input.GetDate("Enter the date of a file to edit orders from that date: "); SetTestOrProd.MyOrderObject.LoadOrderFile(date); Screen next = new HomeScreen(); if (!WorkingMemory.OrderList.Any()) { Console.Write("There are no orders for that date. Press 1 to try\nanother date or enter to return to main menu. "); string input = Console.ReadLine(); if (input == "1") { next = new EditOrderScreen(); } Screen.JumpScreen(next); } Output.DisplayAllOrders(); int orderNumber = Input.GetOrderNumber("Enter an order number to edit: "); var myTestVariable = WorkingMemory.OrderList; Order order; if (orderNumber <= WorkingMemory.OrderList.Count) { var oldOrder = WorkingMemory.OrderList.FirstOrDefault(o => o.OrderNumber == orderNumber); order = ChangeOrder.EditEntireOrder(oldOrder); var index = WorkingMemory.OrderList.IndexOf(oldOrder); WorkingMemory.OrderList[index] = order; Console.Clear(); Output.DisplaySingleOrder(order); } var doCommit = Input.QueryForCommit(); ChangeOrder.CommitChangesToFile(doCommit); Output.DisplayCommitResults(doCommit); Screen.JumpScreen(next); }
public void SaveNewChangeOrder() { Project project = ProjectService.GetAllProjects()[0]; ChangeOrder co = new ChangeOrder(project.Key, 5); co.AmountChanged = 150; co.ChangeType = PriceChangeType.ContractSum; co.PriceChangeDirection = ChangeDirection.Increased; co.Contractor = CompanyService.GetAllCompanies()[0]; co.Description = "This is a test."; co.TimeChanged = 2; co.TimeChangeDirection = ChangeDirection.Increased; co.Status = new ItemStatus(8, "Pend. Arch."); this.repository[co.Key] = co; this.unitOfWork.Commit(); // Verify that the Change Order was added ChangeOrder newChangeOrder = this.repository.FindBy(co.Key); Assert.AreEqual(5, newChangeOrder.Number); }
public void SetCurrent(LemHeader header) { _headerRecord = header; SetEnabled(_headerRecord.CheckEditable()); var changeOrderList = ChangeOrder.ListForProject(_headerRecord.ProjectId).Select(cs => new { EstimateId = cs.EstimateId, DisplayName = cs.DisplayName }).Distinct().ToList(); luChangeOrder.DataSource = changeOrderList; tableEquipEntry.Clear(); EquipTimeEntry.GetEquipEntryList(header.Id).ToList().ForEach(x => { var equip = Equipment.GetEquipment(x.EqpNum); double?billRate = null; if (equip != null) { var list = equip.GetBillRateList(_headerRecord.ProjectId); billRate = (double?)list.SingleOrDefault(c => c.BillCycle == x.BillCycle)?.BillRate; } tableEquipEntry.Rows.Add( x.Id, x.EqpNum, x.EqpNum, EquipmentClass.GetEquipmentClass(equip.ClassCode)?.DisplayName ?? "", x.EmpNum, x.EmpNum != null ? Employee.GetEmployee(x.EmpNum.Value).DisplayName : "", x.ChangeOrderId, x.Level1Id, x.Level2Id, x.Level3Id, x.Level4Id, x.Billable, x.Quantity, (char)x.BillCycle, billRate, x.BillAmount); }); tableEquipEntry.AcceptChanges(); }
public override void Display() { Console.Clear(); DisplayHeader(); WorkingMemory.OrderList.Clear(); Console.WriteLine(); SetTestOrProd.MyOrderObject.LoadOrderFile(Input.GetDate("Enter the date of the order: ")); Console.WriteLine(); Order newOrder = Input.QueryUserForOrder(); Console.Clear(); Output.DisplaySingleOrder(newOrder); var doCommit = Input.QueryForCommit(); ChangeOrder.CommitAdditionsToFile(doCommit, newOrder); Output.DisplayCommitResults(doCommit); Screen next = new HomeScreen(); Screen.JumpScreen(next); }
/// <summary> /// Query user for a new order, return that order. /// </summary> /// <returns></returns> public static Order QueryUserForOrder() { Order myOrder = new Order(); myOrder.CustomerName = (GetString("Enter the customer name: ")).ToUpper(); State tempState = GetState(); myOrder.StateAbbreviation = tempState.StateAbbreviation.ToString(); myOrder.TaxRate = tempState.TaxRate; Product tempProduct = GetProduct(); myOrder.ProductType = tempProduct.ProductType.ToString(); myOrder.CostPerSquareFoot = tempProduct.CostPerSquareFoot; myOrder.LaborCostPerSquareFoot = tempProduct.LaborCostPerSquareFoot; myOrder.Area = GetDecimal("Enter the area of the floor in feet squared: "); myOrder = ChangeOrder.CalculateRemainingProperties(myOrder); return(myOrder); }
public void Process(HttpRequest request, HttpResponse response) { Logger.WriteLog(LogType.INFO, request.Url.ToString()); string orderid = request.QueryString["orderId"]; string outPayNo = request.QueryString["payNo"]; string remark = request.QueryString["remark"]; string price = request.QueryString["price"]; //交易金额 string currentTime = request.QueryString["currentTime"]; string isRefund = request.QueryString["isRefund"]; //退款标志(0=支付1=退款) string signature = request.QueryString["signature"]; string payway = request.QueryString["payWay"]; //支付方式 int saleorderid = orderid.Substring(2).ToInt(); if (isRefund == "1") { int refundId = remark.ToInt(); /* * orderid:退款单ID * remark:退票单ID * price:金额 */ if (SaleOrderRefund(refundId, price, orderid)) { response.WriteLine("success"); } return; } var model = afterSaleOrderRepository.FindAll(p => p.Id == saleorderid).FirstOrDefault(); if (model == null) { Logger.WriteLog(LogType.INFO, string.Format("改签支付售后订单ID:{0}不存在", saleorderid)); return; } ChangeOrder changeOrder = null; if (model is ChangeOrder) { changeOrder = model as ChangeOrder; } if (changeOrder == null) { Logger.WriteLog(LogType.INFO, string.Format("售后订单ID:{0}不是改签类型", saleorderid)); return; } if (changeOrder.ProcessStatus != EnumTfgProcessStatus.ProcessingWaitPay) { return; } changeOrder.OutPayNo = outPayNo; changeOrder.PayTime = DateTime.Now; changeOrder.PayStatus = EnumChangePayStatus.Payed; changeOrder.ProcessStatus = EnumTfgProcessStatus.WaitIssue; changeOrder.PayWay = ExtHelper.GetPayMethod(payway); changeOrder.WriteLog(new OrderLog { IsShowLog = true, OperationContent = "订单改签支付完成,等待出票", OperationDatetime = DateTime.Now, OperationPerson = "系统" }); unitOfWorkRepository.PersistUpdateOf(changeOrder); unitOfWork.Commit(); response.WriteLine("success"); }
public void SetData(List <LemHeader> headerList) { tableLabour.Clear(); var table = LemHeader.GetCostCodeSummary(headerList.Select(x => x.Id).ToList()); var list = table.Select().Select(r => new { EmpNum = Convert.ToInt32(r["EmpNum"]), WorkClassCode = Convert.ToString(r["WorkClassCode"]), Billable = Convert.ToBoolean(r["Billable"]), ProjectId = Convert.ToInt32(r["ProjectId"]), ChangeOrderId = ConvertEx.ToNullable <int>(r["ChangeOrderId"]), Level1Id = ConvertEx.ToNullable <int>(r["Level1Id"]), Level2Id = ConvertEx.ToNullable <int>(r["Level2Id"]), Level3Id = ConvertEx.ToNullable <int>(r["Level3Id"]), Level4Id = ConvertEx.ToNullable <int>(r["Level4Id"]), TimeCodeId = Convert.ToInt32(r["TimeCodeId"]), SumWorkHour = ConvertEx.ToNullable <decimal>(r["SumWorkHour"]), SumAmount = ConvertEx.ToNullable <decimal>(r["SumAmount"]), }); var groupList = list.ToLookup(x => new { x.EmpNum, x.WorkClassCode, x.Billable, x.ProjectId, x.ChangeOrderId, x.Level1Id, x.Level2Id, x.Level3Id, x.Level4Id, EmpName = Employee.GetEmployee(x.EmpNum)?.DisplayName, WorkClass = WorkClass.GetWorkClass(x.WorkClassCode).DisplayName, Project = Project.GetProject(x.ProjectId), ChangeOrder = ChangeOrder.GetChangeOrder(x.ProjectId, x.ChangeOrderId)?.DisplayName, Level1 = LevelOneCode.GetLevelCode(x.Level1Id)?.DisplayName, Level2 = LevelTwoCode.GetLevelCode(x.Level2Id)?.DisplayName, Level3 = LevelThreeCode.GetLevelCode(x.Level3Id)?.DisplayName, Level4 = LevelFourCode.GetLevelCode(x.Level4Id)?.DisplayName }).OrderBy(x => x.Key.Level1).ThenBy(x => x.Key.Level2).ThenBy(x => x.Key.Level3).ThenBy(x => x.Key.Level4).ThenBy(x => x.Key.EmpName).ThenBy(x => x.Key.Project).ThenBy(x => x.Key.ChangeOrder).ThenBy(x => x.Key.WorkClass).ThenBy(x => x.Key.Billable).ToList(); groupList.ForEach(g => { DataRow row = tableLabour.Rows.Add( g.Key.EmpNum, g.Key.EmpName, g.Key.WorkClass, g.Key.Project, g.Key.ChangeOrder, g.Key.Level1, g.Key.Level2, g.Key.Level3, g.Key.Level4, g.Key.Billable, null, null); decimal?billRate; decimal totalHours = 0; decimal billAmounts = 0; foreach (var timecode in TimeCode.ListForCompany()) { if (timecode.ValueType == EnumValueType.Hours) { billRate = ProjectWorkClass.GetBillRate(g.Key.ProjectId, timecode.MatchId, g.Key.WorkClassCode); row[ColName.BillRateI(timecode)] = (object)billRate ?? DBNull.Value; decimal hours = g.Where(x => x.TimeCodeId == timecode.MatchId).Sum(x => x.SumWorkHour) ?? 0; row[ColName.EnterValueI(timecode)] = hours != 0 ? (object)hours : DBNull.Value; totalHours += hours; billAmounts += (billRate ?? 0) * hours; } else { decimal amount = g.Where(x => x.TimeCodeId == timecode.MatchId).Sum(x => x.SumAmount) ?? 0; row[ColName.EnterValueI(timecode)] = amount != 0 ? (object)amount : DBNull.Value; billAmounts += amount; } row[ColName.TotalHours] = totalHours != 0 ? (object)totalHours : DBNull.Value; row[ColName.BillAmount] = billAmounts != 0 ? (object)billAmounts : DBNull.Value; } }); }
public static ResponseChangeOrder ToResponseChangeOrder(this ChangeOrder p) { return(Mapper.Map <ChangeOrder, ResponseChangeOrder>(p)); }
public void SendSmsForPhone(string OrderId, string Content, int[] PassengerId) { string code = AuthManager.GetCurrentUser().Code; var businessman = businessmanRepository.FindAll(x => x.Code == code).SingleOrDefault(); CurrentUserInfo currentUser = AuthManager.GetCurrentUser(); if (currentUser == null) { throw new CustomException(404, "获取信息失败,请稍后再试!"); } if (string.IsNullOrEmpty(Content)) { throw new CustomException(400, "发送短信内容不能为空!"); } var mOrder = orderRepository.FindAll(x => x.OrderId == OrderId).FirstOrDefault(); ChangeOrder mafterOrder = null; if (mOrder.HasAfterSale == true) { mafterOrder = afterSaleOrderRepository.FindAll(p => p.Order.OrderId == mOrder.OrderId && p is ChangeOrder).Select(p => p as ChangeOrder).FirstOrDefault(); } PnrResource pnrResource = new PnrResource(); string fromCity = null; string toCity = null; string flightTime = null; string arriveTime = null; string flightNumber = null; string flightCarrayCode = null; if (mOrder.SkyWays != null && mOrder.SkyWays.Count == 1) { //单程 fromCity = pnrResource.GetCityInfo(mOrder.SkyWays[0].FromCityCode).city.Name; toCity = pnrResource.GetCityInfo(mOrder.SkyWays[0].ToCityCode).city.Name; flightTime = mOrder.SkyWays[0].StartDateTime.ToString("yyyy-MM-dd HH:mm"); arriveTime = mOrder.SkyWays[0].ToDateTime.ToString("HH:mm"); flightNumber = mOrder.SkyWays[0].FlightNumber; flightCarrayCode = mOrder.SkyWays[0].CarrayCode; Content = Content.Replace("[航空公司航班号]", flightCarrayCode + flightNumber); Content = Content.Replace("[出发城市]", fromCity); Content = Content.Replace("[出发航站楼]", mOrder.SkyWays[0].FromTerminal); Content = Content.Replace("[到达城市]", toCity); Content = Content.Replace("[到达航站楼]", mOrder.SkyWays[0].ToTerminal); if (mafterOrder != null) { flightTime = DateTime.Parse(mafterOrder.SkyWay[0].FlyDate.ToString()).ToString("yyyy-MM-dd HH:mm"); } Content = Content.Replace("[起飞时间]", flightTime); Content = Content.Replace("[到达时间]", arriveTime); } else if (mOrder.SkyWays != null && mOrder.SkyWays.Count == 2) { //返程联程 var fromCity1 = pnrResource.GetCityInfo(mOrder.SkyWays[0].FromCityCode).city.Name; var fromCity2 = pnrResource.GetCityInfo(mOrder.SkyWays[1].FromCityCode).city.Name; var toCity1 = pnrResource.GetCityInfo(mOrder.SkyWays[0].ToCityCode).city.Name; var toCity2 = pnrResource.GetCityInfo(mOrder.SkyWays[1].ToCityCode).city.Name; flightCarrayCode = mOrder.SkyWays[0].CarrayCode; flightNumber = mOrder.SkyWays[0].FlightNumber; flightTime = mOrder.SkyWays[0].StartDateTime.ToString("yyyy-MM-dd HH:mm"); arriveTime = mOrder.SkyWays[0].ToDateTime.ToString("HH:mm"); var flightCarrayCodeBack = mOrder.SkyWays[1].CarrayCode; var flightNumberNameBack = mOrder.SkyWays[1].FlightNumber; var flightTimeBack = mOrder.SkyWays[1].StartDateTime.ToString("yyyy-MM-dd HH:mm"); var arriveTimeBack = mOrder.SkyWays[1].ToDateTime.ToString("HH:mm"); if (fromCity1 == toCity2 && toCity1 == fromCity2) { //往返 Content = Content.Replace("[航空公司航班号]", flightCarrayCode + flightNumber); Content = Content.Replace("[出发城市]", fromCity1); Content = Content.Replace("[出发航站楼]", mOrder.SkyWays[0].FromTerminal); Content = Content.Replace("[到达城市]", toCity1); Content = Content.Replace("[到达航站楼]", mOrder.SkyWays[0].ToTerminal); Content = Content.Replace("[起飞时间]", flightTime); Content = Content.Replace("[到达时间]", arriveTime); Content = Content.Replace("[回程航空公司航班号]", flightCarrayCodeBack + flightNumberNameBack); Content = Content.Replace("[回程出发城市]", fromCity2); Content = Content.Replace("[回程出发航站楼]", mOrder.SkyWays[1].FromTerminal); Content = Content.Replace("[回程到达城市]", toCity2); Content = Content.Replace("[回程到达航站楼]", mOrder.SkyWays[1].ToTerminal); Content = Content.Replace("[回程起飞时间]", flightTimeBack); Content = Content.Replace("[回程到达时间]", arriveTimeBack); } else { //中转 Content = Content.Replace("[航空公司航班号]", flightCarrayCode + flightNumber); Content = Content.Replace("[出发城市]", fromCity1); Content = Content.Replace("[出发航站楼]", mOrder.SkyWays[0].FromTerminal); Content = Content.Replace("[到达城市]", toCity1); Content = Content.Replace("[到达航站楼]", mOrder.SkyWays[0].ToTerminal); Content = Content.Replace("[起飞时间]", flightTime); Content = Content.Replace("[到达时间]", arriveTime); Content = Content.Replace("[中转航空公司航班号]", flightCarrayCodeBack + flightNumberNameBack); Content = Content.Replace("[中转出发城市]", fromCity2); Content = Content.Replace("[中转出发航站楼]", mOrder.SkyWays[1].FromTerminal); Content = Content.Replace("[中转到达城市]", toCity2); Content = Content.Replace("[中转到达航站楼]", mOrder.SkyWays[1].ToTerminal); Content = Content.Replace("[回程起飞时间]", flightTimeBack); Content = Content.Replace("[回程到达时间]", arriveTimeBack); } } for (int i = 0; i < mOrder.Passengers.Where(p => PassengerId.Contains(p.Id)).Count(); i++) { Content = Content.Replace("[乘客名称]", mOrder.Passengers[i].PassengerName); Content = Content.Replace("[证件号]", mOrder.Passengers[i].CardNo); if (Content.Length > 300) { throw new CustomException(400, "短信内容只能在300字数内!"); } int sendCount = Convert.ToInt32(Math.Ceiling((double)Content.Length / 64)); if (sendCount > businessman.SMS.RemainCount) { throw new CustomException(400, "你的短信不足,请充值购买!"); } businessman.SendMessage(currentUser.OperatorName, mOrder.Passengers[i].PassengerName, mOrder.Passengers[i].Mobile, Content); } unitOfWorkRepository.PersistUpdateOf(businessman); unitOfWork.Commit(); }
public void FindChangeOrderByKey() { ChangeOrder co = this.repository.FindBy("df501465-2ffd-4f8c-870f-ce169c02f6a7"); Assert.AreEqual(2, co.Number); }