public async Task <IActionResult> Edit(EditTransInfoViewModel model) { //get data for select elements if error model.Drivers = _userServices.GetAvailableUsers().ToList(); model.Routes = RouteServices.GetAllRoutes().ToList(); model.Vehicles = (await _vehicleServices.GetNotUseVehicles()).ToList(); string message = String.Empty; if (ModelState.IsValid) { //check cancel option and reason cancel if (model.IsCancel && String.IsNullOrEmpty(model.ReasonCancel)) { message = "Không thể để trống lý do hủy khi chọn hủy"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(View(model)); } if (!model.IsCancel && !String.IsNullOrEmpty(model.ReasonCancel)) { message = "Không thể điền lý do hủy nếu chưa chọn hủy"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(View(model)); } //if cancel and have reason cancel, write date complete transport if (model.IsCancel && !String.IsNullOrEmpty(model.ReasonCancel)) { DateTime localTimeUTC7 = SystemUtilites.ConvertToTimeZone(DateTime.UtcNow, "SE Asia Standard Time"); model.DateCompletedLocal = SystemUtilites.ConvertToTimeStamp(localTimeUTC7); model.DateCompletedUTC = SystemUtilites.ConvertToTimeStamp(DateTime.UtcNow); } var transInfo = _transInfoServices.GetTransport(model.TransportId); if (transInfo != null) { var user = await _userManager.GetUserAsync(User); if (user != null) { if (model.CargoTonnage > 0) { var vehicle = await _vehicleServices.GetVehicle(model.VehicleId); var route = _routeServices.GetRoute(model.RouteId); model.ReturnOfAdvances = model.CargoTonnage * vehicle.FuelConsumptionPerTone * vehicle.Fuel.FuelPrice * route.Distance; } if (await _transInfoServices.EditTransInfo(model, user.Id)) { message = "Đơn vận chuyển đã được điều chỉnh thông tin"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Success, message); return(RedirectToAction(actionName: "Index")); } } } } message = "Lỗi không xác định, xin mời thao tác lại"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(View(model)); }
public async Task <IActionResult> Delete(string routeId) { string message = String.Empty; var userMessage = new MessageVM(); var routeDel = _routeServices.GetRoute(routeId); if (routeDel != null) { if (await _routeServices.DeleteRoute(routeDel)) { message = "Tuyến vận chuyển đã được xóa"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Success, message); return(RedirectToAction(actionName: "Index")); } } message = "Lỗi không xác định, xin mời thao tác lại"; TempData["UserMessage"] = SystemUtilites.SendSystemNotification(NotificationType.Error, message); return(RedirectToAction(actionName: "Index")); }