コード例 #1
0
ファイル: InvoiceController.cs プロジェクト: ptgl/vimt
        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"));
        }