public async Task <ActionResult> Edit([Bind(Include = "Id,Name,TimeStart,TimeEnd,Duration,Price,IsTransport")] Rates rates) { if (ModelState.IsValid) { db.Entry(rates).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(rates)); }
public async Task <ActionResult> Edit(int id, FormCollection collection) { Transport transport = new Transport(); if (ModelState.IsValid) { transport = db.Transport.Find(id); transport.IndexNumber = collection["IndexNumber"]; transport.SerialNumber = collection["SerialNumber"]; transport.Status = int.Parse(collection["Status"]); TransportModels transportModels = new TransportModels(); if (int.TryParse(collection["TransportSelect2"], out int idModel)) { transportModels = db.TransportModels.Find(idModel); } transport.TransportModels = transportModels; db.Entry(transport).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(transport)); }
public async Task <ActionResult> Edit([Bind(Include = "Id,Name,Status,Price")] Accessories accessories) { if (ModelState.IsValid) { db.Entry(accessories).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(accessories)); }
public async Task <ActionResult> Edit(int Id, string Username, string Password, string Passport, string City, string Home, string Apartment, string Surname, string Street, string Patronymic, string Phone, string Name) { User user = db.Users.Include(cu => cu.ContactUser).FirstOrDefault(u => u.Id == Id); if (user != null) { user.Username = Username; user.Password = Password; var userInitialsName = (Name != null && Name.Length > 0) ? Name[0] : ' '; var userInitialsPatronymic = (Patronymic != null && Patronymic.Length > 0) ? Patronymic[0] : ' '; user.ContactUser.Passport = Passport; user.ContactUser.City = City; user.ContactUser.Home = Home; user.ContactUser.Apartment = Apartment; user.ContactUser.Surname = Surname; user.ContactUser.Name = Name; user.ContactUser.Patronymic = Patronymic; user.ContactUser.Phone = Phone; user.ContactUser.Street = Street; user.ContactUser.ShortName = $"{Surname} {userInitialsName}. {userInitialsPatronymic}."; if (ModelState.IsValid) { db.Entry(user).State = EntityState.Modified; //db.Entry(сontactUser).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } } return(View(user)); }
public ActionResult Edit(int id, FormCollection collection) { try { int dayOfWeek = 0; int.TryParse(collection["DayOfWeek"].ToString(), out dayOfWeek); var promotions = db.Promotions.Find(id); promotions.Name = collection["Name"]; promotions.Description = collection["Description"]; promotions.DayOfWeek = collection["DayOfWeek"]; promotions.TimeStart = TimeSpan.Parse(collection["TimeStart"]); promotions.TimeEnd = TimeSpan.Parse(collection["TimeEnd"]); promotions.Discount = decimal.Parse(collection["Discount"].ToString().Replace('.', ',')); db.Entry(promotions).State = EntityState.Modified; db.SaveChanges(); var Models = collection["TransportSelect2"].Split(','); var ptm = db.PromotionsTransportModels.Include(p => p.Promotions).Where(p => p.Promotions.Id == id).ToList(); foreach (var PTM in ptm) { db.PromotionsTransportModels.Remove(PTM); } db.SaveChanges(); foreach (var model in Models) { db.PromotionsTransportModels.Add(new PromotionsTransportModels { TransportModels = db.TransportModels.Find(Convert.ToInt32(model)), Promotions = promotions }); } db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { return(View()); } }
public ActionResult Edit(int id, FormCollection collection) { try { var transportModels = db.TransportModels.Find(id); transportModels.Name = collection["Name"]; transportModels.Markup = decimal.Parse(collection["Markup"].ToString().Replace('.', ',')); transportModels.ChargingTime = decimal.Parse(collection["ChargingTime"].ToString().Replace('.', ',')); db.Entry(transportModels).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { return(View()); } }
public ActionResult Create(DateTime DateStart, int CountLock, int UserId, List <int> AccessoriesId, List <int> TransportId, int?RatesIdTransport, int addBonuses, int discount, int typeDocumentId, List <int> countTransport, List <int> countAccessories, decimal cashPayment, decimal cardPayment, decimal cardDeposit, decimal cashDeposit, decimal bonusPayment, string Note, int?promotionsList) { Order order = new Order(); if (ModelState.IsValid) { //Итоговая сумма заказа decimal totalSum = 0; if (promotionsList != null && promotionsList != -1) { totalSum -= db.Promotions.Find(promotionsList).Discount; } //totalSum += CountLock * 100; int statusTransportOrAccesories = DateStart >= DateTime.Now.AddHours(1) ? Convert.ToInt32(StatusTransportOrAccessories.Free) : Convert.ToInt32(StatusTransportOrAccessories.Busy); order.DateStart = DateStart; order.DateEnd = DateStart.AddHours(db.Rates.Find(RatesIdTransport) != null ? db.Rates.Find(RatesIdTransport).Duration : 0); order.CountLock = CountLock; order.User = db.Users.Find(UserId); order.Discount = discount; order.AddBonuses = addBonuses; order.Note = Note; db.Orders.Add(order); db.SaveChanges(); db.Users.Find(UserId).Bonus += addBonuses - bonusPayment; var rate = db.Rates.Find(RatesIdTransport); if (TransportId != null) { for (int i = 0; i < TransportId.Count; ++i) { //Ищем данные о выбранном тарифе для добавление к заказу и поиску свободных в определенное время var transModel = TransportId[i]; var transpModels = db.Transport.Include(tm => tm.TransportModels).ToList(); var rtr1 = db.RatesTransports.Include(tm => tm.TransportModels).Include(r => r.Rates); var rtr = rtr1.FirstOrDefault(tm => tm.TransportModels.Id == transModel && tm.Rates.Id == RatesIdTransport); totalSum += rtr.Price * countTransport[i]; //ищем ТС которые подходят в выбранную дату (свободны) и определенное количество var transp = db.Transport.SqlQuery("CALL transport_date_vw('" + DateStart.ToString("yyyy-MM-dd HH:mm") + "','" + DateStart.AddHours(rate.Duration).ToString("yyyy-MM-dd HH:mm") + "')").ToList(); foreach (var transpSQL in transp) { transpSQL.TransportModels = transpModels.FirstOrDefault(tr => tr.Id == transpSQL.Id).TransportModels; } transp = transp.Where(tm => tm.TransportModels.Id == transModel).Take(countTransport[i]).ToList(); List <Transport> transports = new List <Transport>(); foreach (var trans in transp) { //из полученного списка ранее ищем еще те которые подходят нам по модели transports.Add(db.Transport.Include(tm => tm.TransportModels).FirstOrDefault(tr => tr.Id == trans.Id && tr.TransportModels.Id == transModel)); } foreach (var tr in transports) { if (tr != null) { db.Entry(tr).State = EntityState.Modified; } } foreach (var tr in transports) { db.OrderTransport.Add(new OrderTransport() { Transport = tr, Order = order, Rates = rate }); } } } if (AccessoriesId != null) { for (int i = 0; i < AccessoriesId.Count; ++i) { var idAccesories = AccessoriesId[i]; var accName = db.Accessories.FirstOrDefault(ac => ac.Id == idAccesories).Name; var access = db.Accessories.SqlQuery("CALL accessories_date_vw('" + DateStart.ToString("yyyy-MM-dd HH:mm") + "','" + DateStart.AddHours(rate.Duration).ToString("yyyy-MM-dd HH:mm") + "')").ToList(); access = access.Where(ac => ac.Name == accName).Take(countAccessories[i]).ToList(); List <Accessories> accessories = new List <Accessories>(); foreach (var acc in access) { //из полученного списка ранее ищем еще те которые подходят нам по модели accessories.Add(db.Accessories.FirstOrDefault(ac => ac.Id == acc.Id && ac.Name == accName)); } foreach (var ac in accessories) { if (ac != null) { //меняем статус, если это необходимо //ac.Status = statusTransportOrAccesories; db.Entry(ac).State = EntityState.Modified; totalSum += ac.Price; } } foreach (var ac in accessories) { db.OrderAccessories.Add(new OrderAccessories() { Accessories = ac, Order = order, }); } } } var tdoc = db.Helpers.Where(h => h.Code == 1 && h.Value == typeDocumentId).ToList(); Payment payment = new Payment() { TypeDocument = tdoc != null && tdoc.Count > 0 ? tdoc[0].Value : 3, CashPayment = cashPayment, CardPayment = cardPayment, CardDeposit = cardDeposit, CashDeposit = cashDeposit, BonusPayment = bonusPayment, TotalSum = totalSum }; db.Payment.Add(payment); order.Payment = payment; var remainder = totalSum - (cardDeposit + cardPayment + cashDeposit + cashPayment + bonusPayment + discount); order.StatusOrder = remainder == 0 ? "Оплачен" : "Ожидает оплаты"; db.Entry(order).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(order)); }