public IActionResult AssignOrder(AssignOrderViewModel assignOrderViewModel) { if (ModelState.IsValid) { // driver object is matched with Employee id from the viewmodel Employee driver = context.Employees.Where(o => o.EmployeeID == assignOrderViewModel.EmployeeID).Single(); driver.WorkStatus = "Unavailable"; //Order object is matched with the order id from the viewmodel Order orderToBeAssigned = context.Orders.FirstOrDefault(o => o.OrderID == assignOrderViewModel.OrderID); //System.Diagnostics.Debug.WriteLine(orderToBeAssigned.OrderNumber); if (orderToBeAssigned != null) { //assigns the employee id to the order table orderToBeAssigned.EmployeeID = driver.EmployeeID; //marks it unavailable orderToBeAssigned.OrderStatus = "Unavailable"; } } context.SaveChanges(); return(Redirect("/Employee")); }
public IActionResult AssignOrder(AssignOrderViewModel assignOrderViewModel) { if (ModelState.IsValid) { empRepo.AssignOrder(assignOrderViewModel.EmployeeID.GetValueOrDefault(), assignOrderViewModel.OrderID.GetValueOrDefault()); } return(Redirect("/Employee")); }
public IActionResult AssignOrder(int id) { Employee driverToAssignOrder = empRepo.GetEmployeeWithId(id); IList <Order> availableOrders = empRepo.GetAvailableOrders(); AssignOrderViewModel assignOrderViewModel = new AssignOrderViewModel(driverToAssignOrder, availableOrders); return(View(assignOrderViewModel)); }
public IActionResult AssignOrder(int id) { Employee driverToAssignOrder = context.Employees.FirstOrDefault(x => x.EmployeeID == id); IList <Order> availableOrders = context.Orders.Where(x => x.OrderStatus == "Available").ToList(); AssignOrderViewModel assignOrderViewModel = new AssignOrderViewModel(driverToAssignOrder, availableOrders); return(View(assignOrderViewModel)); }
public ActionResult Details(AssignOrderViewModel model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "AssignOrders", TableName = "AssignOrders", Columns = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))), ParentColumn = "CompanyId", Culture = Language }); if (errors.Count() > 0) { foreach (var e in errors) { foreach (var errorMsg in e.errors) { ModelState.AddModelError(errorMsg.field, errorMsg.message); } } return(Json(Models.Utils.ParseFormErrors(ModelState))); } } } else { return(Json(Models.Utils.ParseFormErrors(ModelState))); } AssignOrder request = _hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(model.Id); byte version; byte.TryParse(Request.Form["version"], out version); var isRequired = _hrUnitOfWork.Repository <Workflow>().Where(w => w.Source == "AssignOrder" + model.CalcMethod && w.CompanyId == CompanyId).Select(a => a.IsRequired).FirstOrDefault(); if (model.Id == 0) { //new request = new AssignOrder(); AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request, Version = version, ObjectName = "AssignOrders", Options = moreInfo, Transtype = TransType.Insert }; AutoMapper(parms); request.CompanyId = CompanyId; request.CreatedUser = UserName; request.CreatedTime = DateTime.Now; request.ApprovalStatus = (byte)(isRequired ? 1 : 6); _hrUnitOfWork.LeaveRepository.AddAssignOrder(request); } else { //Edit AutoMapperParm parms = new AutoMapperParm() { Source = model, Destination = request, Version = version, ObjectName = "AssignOrders", Options = moreInfo, Transtype = TransType.Update }; AutoMapper(parms); // _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel() { ColumnName = "ApprovalStatus", CompanyId = CompanyId, ObjectName = "AssignOrders", SourceId = request.Id.ToString(), UserName = UserName, ValueAfter = MsgUtils.Instance.Trls("Submit"), ValueBefore = MsgUtils.Instance.Trls("Darft"), Transtype = (byte)TransType.Update }); request.CompanyId = CompanyId; request.CreatedUser = UserName; request.CreatedTime = DateTime.Now; request.ApprovalStatus = (byte)(isRequired ? 1 : 6); _hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); _hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } if (!isRequired && model.CalcMethod == 2 && model.Id == 0) { var error = _hrUnitOfWork.LeaveRepository.AddAssignOrdersLeaveTrans(request, UserName, Language); if (error.Length > 0) { return(Json(error)); } } errors = SaveChanges(Language); string message = "OK," + ((new JavaScriptSerializer()).Serialize(model)); if (errors.Count > 0) { message = errors.First().errors.First().message; return(Json(message)); } //workflow if (isRequired) { if (request.CalcMethod == 1) //monetary { WfViewModel wf = new WfViewModel() { Source = "AssignOrder1", SourceId = request.CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = 6, CreatedUser = UserName, }; var wfTrans = _hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, Language); if (wfTrans == null && wf.WorkFlowStatus != "Success") { request.ApprovalStatus = 1; message += "," + (new JavaScriptSerializer()).Serialize(new { model = request, error = wf.WorkFlowStatus }); _hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); _hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } else if (wfTrans != null) { _hrUnitOfWork.LeaveRepository.Add(wfTrans); } } else if (request.CalcMethod == 2) //time compensation { WfViewModel wf = new WfViewModel() { Source = "AssignOrder2", SourceId = request.CompanyId, DocumentId = request.Id, RequesterEmpId = request.EmpId, ApprovalStatus = 6, CreatedUser = UserName, }; var wfTrans = _hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, Language); if (wfTrans == null && wf.WorkFlowStatus != "Success") { request.ApprovalStatus = 1; message += "," + (new JavaScriptSerializer()).Serialize(new { model = request, error = wf.WorkFlowStatus }); _hrUnitOfWork.LeaveRepository.AttachAssignOrder(request); _hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified; } else if (wfTrans != null) { _hrUnitOfWork.LeaveRepository.Add(wfTrans); } } errors = Save(Language); if (errors.Count > 0) { message = errors.First().errors.First().message; } } //end workflow if (message == "OK") { message += "," + ((new JavaScriptSerializer()).Serialize(request)); } return(Json(message)); }