public async Task <DamageCar> GetDamageCarAsync(int id) { DamageCar result = null; logger.Debug("Совершено обращение к БД"); try { result = await applicationContext.DamageCars.FirstOrDefaultAsync(f => f.Id == id); if (result == null) { logger.Debug($"Поврежденный автомобиль по Id == {id} не был извлечен из БД"); } else { logger.Debug($"Поврежденный втомобиль по Id == {id} был успешно извлечен из БД"); } } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } return(result); }
public async Task <DamageCar> UpdateDamageCarAsync(DamageCar damageCar) { DamageCar result = null; logger.Debug("Совершено обращение к БД"); try { applicationContext.Entry(damageCar).State = EntityState.Modified; await applicationContext.SaveChangesAsync(); logger.Debug("Редактирование записи было проведено успешно."); } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } return(result); }
public async Task <DamageCar> AddDamageCarAsync(DamageCar damageCar) { DamageCar result = null; logger.Debug("Совершено обращение к БД"); try { result = applicationContext.DamageCars.Add(damageCar); await applicationContext.SaveChangesAsync(); logger.Debug("Новый поврежденный автомобиль успешно добавлен в БД"); } catch (Exception ex) { logger.Error(ex.Message); logger.Error(ex.StackTrace); } return(result); }
public async Task <ActionResult> DetailsOrder(AcceptModel model) { Order order = await _orderDataSource.GetOrderAsync(model.OrderId); if (model.Decision == "accept") { order.OrderStatusId = 3; order.InvoiceMessage = true; ApplicationUser user = UserManager.FindById(User.Identity.GetUserId()); order.ManagerProfileId = user.Id; } else if (model.Decision == "decline") { Car car = await _carDataSource.GetCarAsync(order.CarId); car.AvailabilityNow = true; await _carDataSource.UpdateCarAsync(car); order.OrderStatusId = 2; order.InvoiceMessage = false; ReasonRejection reason = new ReasonRejection { Id = model.OrderId }; reason.Reason = model.Reason; await _reasonRejectionDataSource.AddReasonRejectionAsync(reason); ApplicationUser user = UserManager.FindById(User.Identity.GetUserId()); order.ManagerProfileId = user.Id; } else if (model.Decision == "paid") { order.OrderStatusId = 4; order.InvoiceMessage = false; } else if (model.Decision == "received") { order.OrderStatusId = 5; } else if (model.Decision == "return") { ReturnCar returnCar = new ReturnCar { Id = model.OrderId }; returnCar.ReturnTime = model.ReturnTime; await _returnCarDataSource.AddReturnCarAsync(returnCar); if (model.Description != null) { DamageCar damageCar = new DamageCar { Id = model.OrderId }; damageCar.Description = model.Description; damageCar.CostRepair = model.CostRepair; damageCar.InvoiceMessage = true; damageCar.UnderRepairNow = true; await _damageCarDataSource.AddDamageCarAsync(damageCar); order.OrderStatusId = 6; } else { order.OrderStatusId = 7; Car car = await _carDataSource.GetCarAsync(order.CarId); car.AvailabilityNow = true; await _carDataSource.UpdateCarAsync(car); } } else if (model.Decision == "debtRepaid") { order.OrderStatusId = 8; order.ReturnCar.DamageCar.InvoiceMessage = false; } await _orderDataSource.UpdateOrderAsync(order); return(RedirectToAction("DetailsOrders", "Order")); }