public void CreateOrder(string CustomerId, CreateOrderView model) { //產生orderId string Id = ordersRepository.GetNewId(); var split = Id.Split('E'); string numner = (Convert.ToInt32(split[1]) + 1).ToString(); while (numner.Length < 3) { numner = "0" + numner; } var newOrder = new Orders() { OrderID = "DE" + numner, CustomerID = CustomerId, OrderDate = DateTime.Now, ShippedDate = null, PaymentMethodID = model.PaymentMethodID, DeliveryMethodID = model.DeliveryMethodID, Status = 0 }; //新增訂單 ordersRepository.Create(newOrder); //新增訂單明細 CreateOrderDetail(newOrder.OrderID, CustomerId); }
public ActionResult Create(CreateOrderView createOrder) { try { if (ModelState.IsValid) { UserDb UserSession = (UserDb)Session["User"]; var country = db.Countries.FirstOrDefault(f => f.Id == createOrder.CountryId); var user = db.Users.FirstOrDefault(f => f.Id == UserSession.Id); if (country != null && user != null) { OrderDb order = new OrderDb(); order.CountryId = createOrder.CountryId; order.UserDbId = user.Id; for (var i = 0; i < createOrder.Link.Length; i++) { if (String.IsNullOrWhiteSpace(createOrder.Link[i]) || String.IsNullOrWhiteSpace(createOrder.Coment[i]) || createOrder.Price[i] <= 0 || createOrder.Quantity[i] < 1) { ViewBag.Categories = db.Categories.ToList(); ViewBag.Country = db.Countries.Where(w => w.IsActive == true).ToList(); return(View()); } else { order.OrderName = createOrder.OrderName[i]; order.Link = createOrder.Link[i]; order.Price = createOrder.Price[i] * createOrder.Quantity[i]; order.Quantity = createOrder.Quantity[i]; order.Coment = createOrder.Coment[i]; order.isUrgent = createOrder.isUrgent[i]; order.CategoryId = createOrder.CategoryId[i]; order.CreatedDate = DateTime.Now; order.isPaid = false; db.Orders.Add(order); db.SaveChanges(); } } } ViewBag.Categories = db.Categories.ToList(); ViewBag.Country = db.Countries.Where(w => w.IsActive == true).ToList(); return(RedirectToAction("IndexUser")); } ViewBag.Categories = db.Categories.ToList(); ViewBag.Country = db.Countries.Where(w => w.IsActive == true).ToList(); return(View()); } catch (Exception) { ViewBag.Country = db.Countries.Where(w => w.IsActive == true).ToList(); ViewBag.Categories = db.Categories.ToList(); return(View()); } }
public override bool HandleCreateNew() { using (CreateOrderView frmCreateOrderView = InitCreateOrderView()) { if (frmCreateOrderView.ShowDialog(this) == DialogResult.OK) { DataBind(); } } return(false); }
public void CreateTest_IsFalse() { var service = new OrdersService(); var model = new CreateOrderView() { PaymentMethodID = 1, DeliveryMethodID = 1 }; string remsg = service.Create("Alison", model); Assert.IsTrue(remsg != "訂單成立"); }
public void CreateOrderTest() { var service = new OrdersService(); var model = new CreateOrderView() { PaymentMethodID = 1, DeliveryMethodID = 1 }; service.CreateOrder("Doris", model); Assert.IsTrue(true); }
public async Task <ActionResult> OrderPreview(bool Error = false) { ViewBag.Error = Error; CreateOrderView createOrderView = new CreateOrderView(); double priceListTireFittingsSum = 0; if (TempData.ContainsKey("CreateOrder")) { createOrderView = (CreateOrderView)TempData["CreateOrder"]; createOrderView.CarWashWorkers = Mapper.Map <IEnumerable <CarWashWorkersView> >(await _employeesFacade.ListOfEmployeesForService((int)TypeService.TireFitting)).ToList(); var getAllAdminDay = Mapper.Map <IEnumerable <CarWashWorkersView> >(await _employeesFacade.ListOfEmployeesForService()); ViewBag.TeamLead = new SelectList(getAllAdminDay.Where(x => x.IdPosition <= 2), "id", "Name"); ViewBag.Adminstrator = new SelectList(getAllAdminDay.Where(x => x.IdPosition == 4), "id", "Name"); if (createOrderView.client != null) { createOrderView.Client = Mapper.Map <ClientsOfCarWashView>(await _clientsOfCarWash.GetId(createOrderView.client)); if (createOrderView.Client.discont != null) { createOrderView.discontClient = createOrderView.Client.discont.Value; discontClient = createOrderView.discontClient; } } if (createOrderView.numberOfTires != 0 || createOrderView.priceListTireFittings != null) { priceListTireFittingsSum = SumTireChangeService(createOrderView.priceListTireFittings, createOrderView.numberOfTires.Value); createOrderView.PriceListTireFittingsSum = priceListTireFittingsSum; } double riceListTireFittingAdditionalsSum = TireServices(createOrderView.priceListTireFittingAdditionals); double total = (priceListTireFittingsSum + riceListTireFittingAdditionalsSum) / 100 * discontClient; createOrderView.Total = priceListTireFittingsSum + riceListTireFittingAdditionalsSum - total; TempData.Keep("CreateOrder"); return(View(createOrderView)); } return(View()); }
public ActionResult Chart(int DeliveryMethodID, int PaymentMethodID) { var customerId = Get_CustomerId(); var model = new CreateOrderView(); model.DeliveryMethodID = DeliveryMethodID; model.PaymentMethodID = PaymentMethodID; var str = ordersService.Create(customerId, model); if (str == "訂單成立") { TempData["Message"] = str; return(RedirectToAction("OrderList", "Customer")); } else { TempData["Message"] = str; return(RedirectToAction("Chart", "Customer")); } }
//判斷是否可以新增訂單 public string Create(string CustomerId, CreateOrderView model) { bool IsAllStock = true; List <string> NotStockName = new List <string>(); //取得購物車資料 var Data = cartRepository.FindById(CustomerId); //確認庫存 foreach (var item in Data) { var product = productsRepository.FindById(item.ProductID); //購買數量大於庫存數量 if (item.Quantity > product.Stock) { IsAllStock = false; NotStockName.Add(product.ProductName); } } if (IsAllStock) { //新增訂單 CreateOrder(CustomerId, model); //更新產品庫存 UpdateStock(CustomerId); //刪除購物車資料 DeleteCart(CustomerId); return("訂單成立"); } else { var str = ""; foreach (var item in NotStockName) { str += item + " "; } return($"{str}庫存不足"); } }
public async Task <ActionResult> SaleOfTireFittingServices(List <int> AdditionalServices, List <int> key, List <int> AdditionalServicesQuantity) { if (AdditionalServices != null) { CreateOrderView createOrderView = new CreateOrderView(); if (key.Count != 0 && AdditionalServicesQuantity.Count != 0) { var priceAdditionalServices = _createOrder.SaveOrder(key, AdditionalServicesQuantity); createOrderView.priceListTireFittingAdditionals = Mapper.Map <List <PriceListTireFittingAdditionalServicesView> >(await _createOrder.SelectPriceServise(priceAdditionalServices, AdditionalServices)); TempData["CreateOrder"] = createOrderView; return(RedirectToAction("OrderPreview")); } } return(RedirectToAction("Checkout", "ClientsOfCarWashViews", new RouteValueDictionary(new { services = (int)TypeServices.TireFitting }))); }
public async Task <ActionResult> OrderPreview(List <string> idBrigade, double Total, int idPaymentState, int idStatusOrder, int?idAdmin, int?idTeamLead) { CreateOrderView createOrderView = new CreateOrderView(); int idOrder = 0; if (idStatusOrder == (int)StatusOrder.Completed && idBrigade == null) { TempData.Keep("CreateOrder"); return(RedirectToAction("OrderPreview", "TireChangeService", new RouteValueDictionary(new { Error = true }))); } if (TempData.ContainsKey("CreateOrder")) { createOrderView = (CreateOrderView)TempData["CreateOrder"]; double priceListTireFittingAdditionalsSum = 0; if (createOrderView.priceListTireFittingAdditionals != null) { priceListTireFittingAdditionalsSum = createOrderView.priceListTireFittingAdditionals.Sum(x => x.TheCost).Value; } if (createOrderView.numberOfTires != 0 || createOrderView.priceListTireFittings != null) { double TotalSum = SumTireChangeService(createOrderView.priceListTireFittings, createOrderView.numberOfTires.Value) + priceListTireFittingAdditionalsSum; idOrder = await _createOrder.SaveOrderTireFitting(TotalSum, Total, idPaymentState, idStatusOrder, createOrderView.client.Value, 4); } else if (priceListTireFittingAdditionalsSum != 0) { idOrder = await _createOrder.SaveOrderTireFitting(priceListTireFittingAdditionalsSum, Total, idPaymentState, idStatusOrder, createOrderView.client, 4); } if (createOrderView.priceListTireFittingAdditionals != null) { List <PriceListTireFittingAdditionalServicesBll> priceListTireFittings = new List <PriceListTireFittingAdditionalServicesBll>(); priceListTireFittings = Mapper.Map <List <PriceListTireFittingAdditionalServicesView>, List <PriceListTireFittingAdditionalServicesBll> >(createOrderView.priceListTireFittingAdditionals); await _createOrder.SeveTireService(createOrderView.client, idOrder, priceListTireFittings); } if (createOrderView.priceListTireFittings != null) { List <PriceListTireFittingBll> listTireFittingBlls = new List <PriceListTireFittingBll>(); listTireFittingBlls = Mapper.Map <List <PriceListTireFittingView>, List <PriceListTireFittingBll> >(createOrderView.priceListTireFittings); await _createOrder.SaveTireChangeService(idOrder, createOrderView.numberOfTires.Value, listTireFittingBlls); } var order = await _orderServices.GetId(idOrder); if (idBrigade != null) { // Начисление заработной платы сотрудникам await _wageModules.Payroll(order, _wageModules.ConvertListToIEnumerable(idBrigade), (int)TypeService.TireFitting); } if (idAdmin != null) { // Начисление заработной платы Администраору await _wageModules.AdminWage(order, (int)TypeService.Sales, idAdmin.Value); } if (idTeamLead != null) { // Наичление заработной платы Тим лидеру await _wageModules.AdminWage(order, (int)TypeService.TireFitting, idTeamLead.Value); } TempData.Remove("CreateOrder"); return(RedirectToAction("../Order/Index")); } TempData.Keep("CreateOrder"); return(View()); }
public async Task <ActionResult> CreateOrder(int?Client, int?NumberOfTires, int?TireRadius, List <int> Services, List <int> AdditionalServices, List <int> key, List <int> AdditionalServicesQuantity, int?Type) { CreateOrderView createOrderView = new CreateOrderView(); if (Client != null && NumberOfTires != null && (TireRadius != null || Services != null)) { if (Services != null) { createOrderView.priceListTireFittings = Mapper.Map <IEnumerable <PriceListTireFittingView> >(await _priceListTireFitting.SelectValueFromThePriceList(Services)).ToList(); } if (TireRadius != null) { var resultRadius = Mapper.Map <IEnumerable <PriceListTireFittingView> >(await _priceListTireFitting.SelectRadius(TireRadius.Value)).ToList(); if (Services != null) { createOrderView.priceListTireFittings = (List <PriceListTireFittingView>)createOrderView.priceListTireFittings.Concat(resultRadius); } else { createOrderView.priceListTireFittings = resultRadius; } } if (AdditionalServices != null) { if (key.Count != 0 && AdditionalServicesQuantity.Count != 0) { var priceAdditionalServices = _createOrder.SaveOrder(key, AdditionalServicesQuantity); createOrderView.priceListTireFittingAdditionals = Mapper.Map <List <PriceListTireFittingAdditionalServicesView> >(await _createOrder.SelectPriceServise(priceAdditionalServices, AdditionalServices)); } } createOrderView.client = Client; createOrderView.numberOfTires = NumberOfTires; TempData["CreateOrder"] = createOrderView; return(RedirectToAction("OrderPreview")); } else if (AdditionalServices != null && Client != 0 && TireRadius == null && NumberOfTires == null) { createOrderView.client = Client; if (key.Count != 0 && AdditionalServicesQuantity.Count != 0) { var priceAdditionalServices = _createOrder.SaveOrder(key, AdditionalServicesQuantity); createOrderView.priceListTireFittingAdditionals = Mapper.Map <List <PriceListTireFittingAdditionalServicesView> >(await _createOrder.SelectPriceServise(priceAdditionalServices, AdditionalServices)); TempData["CreateOrder"] = createOrderView; return(RedirectToAction("OrderPreview")); } return(RedirectToAction("CreateOrder", "TireChangeService", new RouteValueDictionary(new { IdClient = Client, Error = true }))); } else { return(RedirectToAction("CreateOrder", "TireChangeService", new RouteValueDictionary(new { IdClient = Client, Error = true }))); } }