private decimal CalculateRemain(ExcursionViewModel excursion) { decimal sum = excursion.Cost; decimal paidSum = payLogic.Read(new OrderBindingModel { ExcursionId = excursion.Id }).Select(rec => rec.Sum).Sum(); return(sum - paidSum); }
public void SaveRouteForExcursionsToExcelFile(string fileName, ExcursionViewModel excursion, string email) { string title = "Список маршрутов "; SaveToExcel.CreateDoc(new ExcelInfo { FileName = fileName, Title = title, Routes = GetRouteForExcursions(excursion) }); SendMail(email, fileName, title); }
public List <RouteViewModel> GetRouteForExcursions(ExcursionViewModel ed) { var routes = new List <RouteViewModel>(); foreach (var route in ed.RouteForExcursions) { routes.Add(routeLogic.Read(new RouteBindingModel { Id = route.RouteId }).FirstOrDefault()); } return(routes); }
public ActionResult Order(OrderModel model) { ExcursionViewModel excursion = edLogic.Read(new ExcursionBindingModel { Id = model.ExcursionId }).FirstOrDefault(); decimal Remain = CalculateRemain(excursion); if (!ModelState.IsValid) { ViewBag.Excursion = excursion; ViewBag.Remain = Remain; return(View(model)); } if (Remain < model.OrderSum) { ViewBag.Excursion = excursion; ViewBag.Remain = Remain; return(View(model)); } payLogic.CreateOrUpdate(new OrderBindingModel { ExcursionId = excursion.Id, ClientId = Program.Client.Id, DateCreate = DateTime.Now, Sum = model.OrderSum }); Remain -= model.OrderSum; edLogic.CreateOrUpdate(new ExcursionBindingModel { Id = excursion.Id, ClientId = excursion.ClientId, ExcursionCreate = excursion.ExcursionCreate, Status = Remain > 0 ? ExcursionStatus.В_Рассрочке : ExcursionStatus.Заказ_оплачен, Final_Cost = excursion.Cost, RouteForExcursions = excursion.RouteForExcursions.Select(rec => new RouteForExcursionBindingModel { Id = rec.Id, ExcursionId = rec.ExcursionId, RouteId = rec.RouteId, Cost = rec.Cost }).ToList() }); return(RedirectToAction("Excursion")); }