public async Task <JsonResult> Edit([FromBody] BranchModel branchModel) { AppIdentityUser _user = await _userManager.FindByNameAsync(User.Identity.Name); BrhFrontDeskAccounts brhFrontDeskAccounts = new BrhFrontDeskAccounts(); BrhFrontPaymentDetial bfp = new BrhFrontPaymentDetial(); var rtotal = _context.BrhFrontPaymentDetials.Where(x => x.FrontDeskAccountsId == branchModel.FrontDeskAccountsId).Sum(x => x.PayAmount); if (branchModel.PayAmount != 0) { bfp.FrontDeskAccountsId = branchModel.FrontDeskAccountsId; bfp.PayWay = branchModel.PayWay; bfp.PayDate = branchModel.PayDate; bfp.PayAmount = branchModel.PayAmount; } else { bfp.PayAmount = 0; } branchModel.Received = rtotal + bfp.PayAmount; if (branchModel.Receivable == branchModel.Received) { branchModel.IsFinish = true; } else { branchModel.IsFinish = false; } var ParentType = typeof(BrhFrontDeskAccounts); var Properties = ParentType.GetProperties(); foreach (var Propertie in Properties) { //循环遍历属性 if (Propertie.CanRead && Propertie.CanWrite) { //进行属性拷贝 Propertie.SetValue(brhFrontDeskAccounts, Propertie.GetValue(branchModel, null), null); } } if (branchModel.PayAmount != 0) { brhFrontDeskAccounts.BrhFrontPaymentDetial.Add(bfp); } _context.Update(brhFrontDeskAccounts); _context.SaveChanges(); Event eve = branchModel; return(Json(eve)); }
private Event AddFront(BranchModel bm) { var brhFrontDeskAccounts = new BrhFrontDeskAccounts(); Event eve = new Event(); brhFrontDeskAccounts.Branch = bm.Branch; brhFrontDeskAccounts.Channel = bm.Channel; brhFrontDeskAccounts.Color = bm.Color; brhFrontDeskAccounts.Count = bm.Count; brhFrontDeskAccounts.CustomerCount = bm.CustomerCount; brhFrontDeskAccounts.CustomerName = bm.CustomerName; brhFrontDeskAccounts.EndDate = bm.EndDate; brhFrontDeskAccounts.EnteringDate = bm.EnteringDate; brhFrontDeskAccounts.EnteringStaff = bm.EnteringStaff; brhFrontDeskAccounts.FrontDeskAccountsId = bm.FrontDeskAccountsId; brhFrontDeskAccounts.FrontDeskLeader = bm.FrontDeskLeader; brhFrontDeskAccounts.HouseNumber = bm.HouseNumber; brhFrontDeskAccounts.IsFinance = bm.IsFinance; brhFrontDeskAccounts.IsFinish = bm.IsFinish; brhFrontDeskAccounts.IsFront = bm.IsFront; brhFrontDeskAccounts.Note = bm.Note; brhFrontDeskAccounts.Phone = bm.Phone; brhFrontDeskAccounts.Receivable = bm.Receivable; brhFrontDeskAccounts.Received = bm.Received; brhFrontDeskAccounts.RelationStaff = bm.RelationStaff; brhFrontDeskAccounts.StartDate = bm.StartDate; brhFrontDeskAccounts.State = bm.State; brhFrontDeskAccounts.Steward = bm.Steward; brhFrontDeskAccounts.StewardLeader = bm.StewardLeader; brhFrontDeskAccounts.TotalPrice = bm.TotalPrice; brhFrontDeskAccounts.UnitPrice = bm.UnitPrice; eve.Branch = bm.Branch; eve.Channel = bm.Channel; eve.Color = bm.Color; eve.Count = bm.Count; eve.CustomerCount = bm.CustomerCount; eve.CustomerName = bm.CustomerName; eve.EndDate = bm.EndDate; eve.EnteringDate = bm.EnteringDate; eve.EnteringStaff = bm.EnteringStaff; eve.FrontDeskAccountsId = bm.FrontDeskAccountsId; eve.FrontDeskLeader = bm.FrontDeskLeader; eve.HouseNumber = bm.HouseNumber; eve.IsFinance = bm.IsFinance; eve.IsFinish = bm.IsFinish; eve.IsFront = bm.IsFront; eve.Note = bm.Note; eve.Phone = bm.Phone; eve.Receivable = bm.Receivable; eve.Received = bm.Received; eve.RelationStaff = bm.RelationStaff; eve.StartDate = bm.StartDate; eve.State = bm.State; eve.Steward = bm.Steward; eve.StewardLeader = bm.StewardLeader; eve.TotalPrice = bm.TotalPrice; eve.UnitPrice = bm.UnitPrice; eve.id = bm.FrontDeskAccountsId.ToString(); eve.resourceId = bm.HouseNumber; eve.title = bm.title; eve.allDay = bm.allDay; eve.start = bm.StartDate.ToShortDateString(); eve.end = bm.EndDate.ToShortDateString(); eve.className = bm.className; eve.editable = bm.editable; eve.isTitle = bm.isTitle; eve.houseType = bm.houseType; if (bm.PayAmount != 0) { var bfp = new BrhFrontPaymentDetial(); bfp.FrontDeskAccountsId = brhFrontDeskAccounts.FrontDeskAccountsId; bfp.PayWay = bm.PayWay; bfp.PayDate = bm.PayDate; bfp.PayAmount = bm.PayAmount; brhFrontDeskAccounts.BrhFrontPaymentDetial.Add(bfp); } _context.Add(brhFrontDeskAccounts); _context.SaveChanges(); return(eve); }
public async Task <JsonResult> Create([FromBody] BranchModel branchModel) { AppIdentityUser _user = await _userManager.FindByNameAsync(User.Identity.Name); List <Event> eves = new List <Event>(); if (branchModel.StartDate.Month == branchModel.EndDate.AddDays(-1).Month) { var frontId = Convert.ToInt64(_user.BranchId.ToString() + ConvertJson.DateTimeToStamp(DateTime.Now).ToString()); branchModel.EnteringDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("China Standard Time")); branchModel.FrontDeskAccountsId = frontId; if (branchModel.PayAmount != 0) { branchModel.Received = branchModel.PayAmount; } else { branchModel.Received = 0; } if (branchModel.Receivable == branchModel.Received) { branchModel.IsFinish = true; } eves.Add(AddFront(branchModel)); if (branchModel.SelectVal.Count > 0) { foreach (var sel in branchModel.SelectVal) { branchModel.FrontDeskAccountsId += 1; branchModel.HouseNumber = sel; eves.Add(AddFront(branchModel)); } } return(Json(eves)); } else { var count1 = (branchModel.EndDate.AddDays(1 - branchModel.EndDate.Day) - branchModel.StartDate).Days; var count2 = (branchModel.EndDate - branchModel.EndDate.AddDays(1 - branchModel.EndDate.Day)).Days; var total = (branchModel.EndDate - branchModel.StartDate).Days; var frontId1 = Convert.ToInt64(_user.BranchId.ToString() + ConvertJson.DateTimeToStamp(DateTime.Now).ToString()); BrhFrontDeskAccounts brhFrontDeskAccounts1 = new BrhFrontDeskAccounts(); BrhFrontDeskAccounts brhFrontDeskAccounts2 = new BrhFrontDeskAccounts(); decimal payAmount1 = 0; decimal payAmount2 = 0; if (branchModel.PayAmount != 0) { payAmount1 = branchModel.PayAmount / total * count1; payAmount2 = branchModel.PayAmount / total * count2; } else { payAmount1 = 0; payAmount2 = 0; } branchModel.EnteringDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("China Standard Time")); var totalPrice = branchModel.TotalPrice; var receivable = branchModel.Receivable; var received = branchModel.Received; var startDate = branchModel.StartDate; var endDate = branchModel.EndDate; branchModel.FrontDeskAccountsId = frontId1; branchModel.TotalPrice = totalPrice / total * count1; branchModel.Receivable = receivable / total * count1; branchModel.Received = payAmount1; if (branchModel.Receivable == branchModel.Received) { branchModel.IsFinish = true; } else { branchModel.IsFinish = false; } branchModel.Count = count1; branchModel.StartDate = startDate; branchModel.EndDate = endDate.AddDays(1 - endDate.Day); branchModel.PayAmount = payAmount1; eves.Add(AddFront(branchModel)); var tempNumber = branchModel.HouseNumber; if (branchModel.SelectVal.Count > 0) { branchModel.FrontDeskAccountsId += 10000; foreach (var sel in branchModel.SelectVal) { branchModel.FrontDeskAccountsId += 1; branchModel.HouseNumber = sel; eves.Add(AddFront(branchModel)); } } branchModel.FrontDeskAccountsId = frontId1 + 1; branchModel.HouseNumber = tempNumber; branchModel.TotalPrice = totalPrice / total * count2; branchModel.Receivable = receivable / total * count2; branchModel.Received = payAmount2; if (branchModel.Receivable == branchModel.Received) { branchModel.IsFinish = true; } else { branchModel.IsFinish = false; } branchModel.Count = count2; branchModel.StartDate = endDate.AddDays(1 - endDate.Day); branchModel.EndDate = endDate; branchModel.PayAmount = payAmount2; eves.Add(AddFront(branchModel)); if (branchModel.SelectVal.Count > 0) { foreach (var sel in branchModel.SelectVal) { branchModel.FrontDeskAccountsId += 1; branchModel.HouseNumber = sel; eves.Add(AddFront(branchModel)); } } return(Json(eves)); } }