public ActionResult Edit(InvoiceViewModel obj) { string status = ""; Invoice item = _invoiceService.GetInvoiceById(obj.Id); var role = Session["role"].ToString().ToLower(); var note = item.UserInvoices.LastOrDefault().Status.Note.ToString().ToLower(); //if (obj.approve == true) //{ status = ChangeStatus.ChangeStatusInvoice(Session["role"].ToString(), obj.recentStatus.Trim(), false, false); //} //else status = obj.recentStatus; //Add 3 text if (obj.recentStatus.ToLower().Equals("waiting for payment")) { var a = obj.PaymentCreatedDate.ToShortDateString(); if (obj.PaymentVoucher == 0 || obj.PaymentCreatedDate.ToShortDateString().Equals("1/1/0001")) { return(Redirect("/Invoice/Edit?id=" + obj.Id)); } var invoice = _invoiceService.GetInvoiceById(obj.Id); invoice.PaymentAmount = obj.PaymentAmount; invoice.PaymentCreatedDate = obj.PaymentCreatedDate; invoice.PaymentVoucher = obj.PaymentVoucher; _invoiceService.EditInvoice(invoice); } else if (obj.recentStatus.ToString().ToLower().Equals("pending for validation") && role.Equals(note) /*&& !obj.InvoiceId.ToString().Equals("")*/) { if (obj.InvoiceId == null) { return(Redirect("/Invoice/Edit?id=" + obj.Id)); } item.Description = obj.InvoiceId.ToString(); // add invoice ID _invoiceService.EditInvoice(item); } if (status != null) { var wwid = Session["wwid"].ToString(); // var wwid = "11511221"; UserInvoice userInvoice = new UserInvoice(); userInvoice.CreatedDate = DateTime.Now.Date; userInvoice.InvoiceId = obj.Id; userInvoice.isDelete = false; userInvoice.isReject = false; userInvoice.StatusId = _statusService.GetAllStatuses().Where(p => p.StatusName.ToLower().Trim().Equals(status.ToLower().Trim())).FirstOrDefault().Id; if (role.Equals("requestor manager")) { var requestorMngID = _roleGroupService.GetAllRoleGroups().Where(p => p.GroupName.ToString().ToLower().Equals("requestor manager")).FirstOrDefault().Id; userInvoice.UserTableId = _userTableService.GetAllUsers().Where(p => p.RoleGroupId == requestorMngID).FirstOrDefault().Id; } else { userInvoice.UserTableId = _userTableService.GetAllUsers().Where(p => p.WWID == int.Parse(wwid)).FirstOrDefault().Id; } _userInvoiceService.AddUserInvoice(userInvoice); } return(RedirectToAction("Index")); }