Exemplo n.º 1
0
        private static bool CalculateRealFee(InvoiceShared realInvoice, InvoiceShared estimatedInvoice, FeeConfig feeConfig)
        {
            Contract.Requires(realInvoice != null);
            Contract.Requires(estimatedInvoice != null);
            Contract.Requires(feeConfig != null);

            if (!CalculateCommonRealBasicFee(realInvoice, estimatedInvoice, feeConfig))
            {
                return(false);
            }
            if (!CalculateCommonRealUsageFee(realInvoice, estimatedInvoice, feeConfig))
            {
                return(false);
            }

            foreach (var userInvoice in realInvoice.UserInvoices)
            {
                UserInvoice estimatedUserInvoice = estimatedInvoice.UserInvoices.GetInvoiceByOwner(userInvoice.InvoiceOwner);

                CalculateUserRealBasicFee(estimatedInvoice, userInvoice, realInvoice.UserInvoices.Count, feeConfig);
                CalculateUserRealUsageFee(userInvoice, estimatedUserInvoice, feeConfig);
            }

            return(true);
        }
Exemplo n.º 2
0
        private static ulong CalculateConsumption(InvoiceShared prevInvoice, InvoiceShared invoice,
                                                  IEnumerable <MeterConfig> mainMeterConfigHistory, IEnumerable <UserMeterConfigHistory> userMeterConfigHistory)
        {
            Contract.Requires(invoice != null);


            DateRange readOutPeriod = InvoiceExtensions.GetReadOutPeriod(prevInvoice, invoice);

            IEnumerable <MeterConfig> meterConfigs = mainMeterConfigHistory.GetMeterConfigHistoryForPeriod(readOutPeriod);
            ulong realCommonConsumption            = CalculateRealCommonConsumption(prevInvoice, invoice, meterConfigs);
            ulong estimatedCommonConsumption       = CalculateEstimatedCommonConsumption(prevInvoice, invoice, meterConfigs);
            ulong totalEstimatedUserConsumption    = 0U;

            foreach (var userInvoice in invoice.UserInvoices)
            {
                UserInvoice prevUserInvoice = prevInvoice?.UserInvoices.GetInvoiceByOwner(userInvoice.InvoiceOwner);
                IEnumerable <MeterConfig> userMeterConfigs = userMeterConfigHistory.
                                                             GetMeterConfigHistoryByOwner(userInvoice.InvoiceOwner).
                                                             GetMeterConfigHistoryForPeriod(readOutPeriod);

                ulong realUserConsumption = CalculateRealUserConsumption(readOutPeriod, prevUserInvoice, userInvoice, userMeterConfigs);
                totalEstimatedUserConsumption +=
                    CalculateEstimatedUserConsumption(userInvoice, realUserConsumption, new ConsumptionValue(estimatedCommonConsumption, realCommonConsumption));
            }

            FineGrainEstimatedUserConsumption(
                invoice.UserInvoices,
                totalEstimatedUserConsumption,
                new ConsumptionValue(estimatedCommonConsumption, realCommonConsumption)
                );

            return(realCommonConsumption);
        }
Exemplo n.º 3
0
 public void AddUserInvoice(UserInvoice UserInvoice)
 {
     //UserInvoice.isDelete = false;
     // UserInvoice.isReject = false;
     _userInvoiceRepository.Add(UserInvoice);
     _unitOfWork.Commit();
 }
Exemplo n.º 4
0
        private static void CalculateUserEstimatedUsageFee(UserInvoice userEstimatedInvoice, FeeConfig feeConfig)
        {
            Contract.Requires(userEstimatedInvoice != null);
            Contract.Requires(feeConfig != null);

            userEstimatedInvoice.GetUsageFee().CleanWaterFee = (userEstimatedInvoice.GetConsumption().Estimated *feeConfig.GetMonthlyCleanWaterUsageFeeWithoutVAT()).RoundToCents();
            userEstimatedInvoice.GetUsageFee().WasteWaterFee = (userEstimatedInvoice.GetConsumption().Estimated *feeConfig.GetMonthlyWasteWaterUsageFeeWithoutVAT()).RoundToCents();
        }
Exemplo n.º 5
0
        private static ulong CalculateEstimatedUserConsumption(UserInvoice invoice, ulong realUserConsumption, ConsumptionValue commonConsumption)
        {
            Contract.Requires(commonConsumption != null);

            decimal estimatedUserConsumption = Convert.ToDecimal(commonConsumption.Estimated * realUserConsumption) / Convert.ToDecimal(commonConsumption.Real);

            invoice.GetConsumption().Estimated = Convert.ToUInt64(Math.Round(estimatedUserConsumption));
            return(invoice.GetConsumption().Estimated);
        }
Exemplo n.º 6
0
        private static void CalculateUserEstimatedBasicFee(DateRange invoicePeriod, UserInvoice userEstimatedInvoice, int userCount, FeeConfig feeConfig)
        {
            Contract.Requires(invoicePeriod != null);
            Contract.Requires(userEstimatedInvoice != null);
            Contract.Requires(feeConfig != null);
            Contract.Requires(userCount > 0);

            userEstimatedInvoice.GetBasicFee().CleanWaterFee = (invoicePeriod.GetMonths() * feeConfig.GetMonthlyCleanWaterBasicFeeWithoutVAT() / userCount).RoundToCents();
            userEstimatedInvoice.GetBasicFee().WasteWaterFee = (invoicePeriod.GetMonths() * feeConfig.GetMonthlyWasteWaterBasicFeeWithoutVAT() / userCount).RoundToCents();
        }
        public ActionResult InvoiceDetailed(long id)
        {
            UserInvoice ui = InvoiceRepository.GetUserInvoice(id);

            if (ui == null || ui.User_ID != AppHelper.CurrentUser.ID)
            {
                return(RedirectToAction("AuctionInvoices"));
            }
            ViewData["Invoice_ID"]  = ui.Id;
            ViewData["Event_Title"] = EventRepository.GetEventByID(ui.Event_ID).Title;
            return(View());
        }
Exemplo n.º 8
0
        private static ulong CalculateRealUserConsumption(DateRange readOutPeriod, UserInvoice prevInvoice, UserInvoice invoice, IEnumerable <MeterConfig> meterConfigs)
        {
            Contract.Requires(invoice != null);
            Contract.Requires(meterConfigs != null);

            ulong startRealReadOut = prevInvoice?.GetReadOut().Real ?? 0U;
            ulong endRealReadOut   = invoice.GetReadOut().Real;

            ulong realConsumption = CalculateConsumption(readOutPeriod, startRealReadOut, endRealReadOut, meterConfigs);

            invoice.GetConsumption().Real = realConsumption;

            return(realConsumption);
        }
Exemplo n.º 9
0
        public ActionResult RejectReason(InvoiceViewModel obj)
        {
            var wwid = Session["wwid"].ToString();
            //var wwid = "11573963";

            UserInvoice uInvoice = new UserInvoice();

            uInvoice.CreatedDate = DateTime.Now.Date;
            uInvoice.InvoiceId   = obj.Id;
            uInvoice.isDelete    = false;
            uInvoice.isReject    = true;
            //uInvoice.rejectReason = obj.UserInvoices.LastOrDefault().rejectReason;
            uInvoice.rejectReason = obj.rejectReason;
            uInvoice.UserTableId  = obj.UserTableId;
            uInvoice.StatusId     = _statusService.GetAllStatuses().Where(p => p.StatusName.ToLower().Trim().Equals(obj.recentStatus.ToLower().Trim())).FirstOrDefault().Id;

            //        var requestor = "<strong>" + _userTableService.GetUserById(obj.UserTableId).UserName.ToString() + "</strong>";
            //        var rejector = "<strong>"+_userTableService.GetAllUsers().Where(p => p.WWID == int.Parse(wwid)).FirstOrDefault().UserName.ToString() + "</strong>";
            //string email = "*****@*****.**";



            Invoice inv = _invoiceService.GetInvoiceById(obj.Id);

            string[] array = inv.Note.ToString().Split('|');

            string RequestorId = array[0];
            string email       = array[1];
            string ManagerId   = array[2];

            // string rejector = "<strong>" +_userTableService.GetAllUsers().Where(p => p.WWID.ToString().Equals(ManagerId)).FirstOrDefault().UserName.ToString() + "<strong>";
            // string requestor = "<strong>"+_userTableService.GetAllUsers().Where(p => p.WWID.ToString().Equals(RequestorId)).FirstOrDefault().UserName.ToString() + "<strong>";


            LoginClass.Member Requestor = LoginClass.GetName(int.Parse(RequestorId.ToString()));
            LoginClass.Member Manager   = LoginClass.GetName(int.Parse(ManagerId.ToString()));
            string            requestor = "<strong>" + Requestor.ccMailName + "<strong>";
            string            rejector  = "<strong>" + Manager.ccMailName + "<strong>";
            string            banner    = "<img src='http://vimt.intel.com/Images/bannerVIMT.png'><br><br><br><br>";
            string            content   = banner + "Dear " + requestor + ", <br/> Your invoice " + "(ID: " + obj.requestID + ") was rejected by " + rejector + " <br/> <b>Reason: " + obj.rejectReason + "</b>.<br/>Best Sincerely ";

            // string email = "*****@*****.**";


            Mail.SendMail(content, email);
            _userInvoiceService.AddUserInvoice(uInvoice);

            return(RedirectToAction("Index"));
        }
 ///<summary>
 /// 用户发票模版更新
 ///</summary>
 ///<param name="o">用户发票模版</param>
 ///<returns></returns>
 public bool UserInvoiceUpdate(UserInvoice o)
 {
     return(Try(nameof(UserInvoiceUpdate), () =>
     {
         var cmd = SqlBuilder.Update("UserInvoice")
                   .Column("UserId", o.UserId)
                   .Column("GroupId", o.GroupId)
                   .Column("Title", o.Title)
                   .Column("Content", o.Content)
                   .Column("IsDefault", o.IsDefault)
                   .Column("ModifiedBy", o.ModifiedBy)
                   .Column("ModifiedOn", o.ModifiedOn)
                   .Where("Id=@id and UserId=@userId", new { o.Id, o.UserId })
                   .ToCommand();
         return PassportConn.Execute(cmd) > 0;
     }));
 }
 ///<summary>
 /// 用户发票模版创建
 ///</summary>
 ///<param name="o">用户发票模版</param>
 ///<returns></returns>
 public int UserInvoiceCreate(UserInvoice o)
 {
     return(Try(nameof(UserInvoiceCreate), () =>
     {
         var cmd = SqlBuilder.Insert("UserInvoice")
                   .Column("UserId", o.UserId)
                   .Column("GroupId", o.GroupId)
                   .Column("Title", o.Title)
                   .Column("Content", o.Content)
                   .Column("IsDefault", o.IsDefault)
                   .Column("CreatedOn", o.CreatedOn)
                   .Column("ModifiedBy", o.ModifiedBy)
                   .Column("ModifiedOn", o.ModifiedOn)
                   .ToCommand(true);
         return PassportConn.ExecuteScalar <int>(cmd);
     }));
 }
Exemplo n.º 12
0
        public ActionResult DelegateRequestor()
        {
            if (Session["role"] != null)
            {
                var session = Session["role"].ToString().ToLower();
                if (session.Equals("requestor"))
                {
                    int statusId = _statusService.GetAllStatuses().Where(p => p.StatusName.ToString().ToLower().Equals("pending for approve")).FirstOrDefault().Id;
                    //  var UserInvoices = _userInvoiceService.GetAllUserInvoices().Where(p => p.StatusId == statusId && p.isDelete == false && p.UserTable.WWID == 11573963).Distinct();

                    List <int> invId = new List <int>();

                    var wwid = Session["wwid"].ToString();

                    var listInv = _invoiceService.GetAllInvoices().Where(p => p.Note.Split('|').FirstOrDefault().ToString().Equals(wwid));

                    foreach (var obj in listInv)
                    {
                        invId.Add(obj.Id);
                    }

                    List <Invoice> listInvoice = new List <Invoice>();
                    foreach (int item in invId)
                    {
                        UserInvoice uInv = _userInvoiceService.GetAllUserInvoices().Where(p => p.InvoiceId == item && p.isDelete == false).LastOrDefault();

                        if (uInv != null && uInv.StatusId == statusId && uInv.isReject == false)
                        {
                            Invoice obj = _invoiceService.GetInvoiceById(uInv.InvoiceId);
                            listInvoice.Add(obj);
                        }
                    }

                    return(View(listInvoice));
                }
                else
                {
                    return(RedirectToAction("Index", "Dashboard"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Dashboard"));
            }
        }
Exemplo n.º 13
0
        private void DeleteSelectedInvoices()
        {
            if (dataGridView.SelectedRows.Count == 0)
            {
                return;
            }

            if (MessageBox.Show("Poistetaanko valitut laskut?", "Posto", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                == DialogResult.No)
            {
                return;
            }

            anyChangesToInvoiceHistory = true;

            foreach (DataGridViewRow row in dataGridView.SelectedRows)
            {
                InvoiceShared invoice = GetCommonInvoiceFromRow(row);

                if (IsUserInvoice(row))
                {
                    UserInvoice userInvoice = GetUserInvoiceFromRow(row);
                    invoice.UserInvoices.Remove(userInvoice);
                }
                else
                {
                    foreach (var _ in invoice.UserInvoices)
                    {
                        // removing user invoices from datagrid
                        dataGridView.Rows.RemoveAt(row.Index + 1);
                    }

                    invoiceHistory.Invoices.Remove(invoice);
                }

                dataGridView.Rows.Remove(row);
            }
        }
Exemplo n.º 14
0
        private void AssertInvoicesFee(InvoiceShared expected, InvoiceShared actual)
        {
            Assert.AreEqual(expected.GetBasicFee().CleanWaterFee, actual.GetBasicFee().CleanWaterFee, $"different clean water basic fee of invoice {actual.Id}");
            Assert.AreEqual(expected.GetBasicFee().WasteWaterFee, actual.GetBasicFee().WasteWaterFee, $"different waste water basic fee of invoice {actual.Id}");
            Assert.AreEqual(expected.GetUsageFee().CleanWaterFee, actual.GetUsageFee().CleanWaterFee, $"different clean water usage fee of invoice {actual.Id}");
            Assert.AreEqual(expected.GetUsageFee().WasteWaterFee, actual.GetUsageFee().WasteWaterFee, $"different waste water usage fee of invoice {actual.Id}");

            Assert.AreEqual(expected.UserInvoices.Count, actual.UserInvoices.Count);
            for (int i = 0; i < expected.UserInvoices.Count; i++)
            {
                UserInvoice expectedUserInvoice = expected.UserInvoices[i];
                UserInvoice actualUserInvoice   = actual.UserInvoices.GetInvoiceByOwner(expectedUserInvoice.InvoiceOwner);
                Assert.IsNotNull(actualUserInvoice, $"missing user '{actualUserInvoice.InvoiceOwner}' invoice {actual.Id}");

                Assert.AreEqual(expectedUserInvoice.GetBasicFee().CleanWaterFee, actualUserInvoice.GetBasicFee().CleanWaterFee,
                                $"different clean water basic fee of user '{actualUserInvoice.InvoiceOwner}' invoice {actual.Id}");
                Assert.AreEqual(expectedUserInvoice.GetBasicFee().WasteWaterFee, actualUserInvoice.GetBasicFee().WasteWaterFee,
                                $"different waste water basic fee of user '{actualUserInvoice.InvoiceOwner}' invoice {actual.Id}");
                Assert.AreEqual(expectedUserInvoice.GetUsageFee().CleanWaterFee, actualUserInvoice.GetUsageFee().CleanWaterFee,
                                $"different clean water usage fee of user '{actualUserInvoice.InvoiceOwner}' invoice {actual.Id}");
                Assert.AreEqual(expectedUserInvoice.GetUsageFee().WasteWaterFee, actualUserInvoice.GetUsageFee().WasteWaterFee,
                                $"different waste water usage fee of user '{actualUserInvoice.InvoiceOwner}' invoice {actual.Id}");
            }
        }
Exemplo n.º 15
0
        private static void ShowUserInvoice(DataGridViewRow row, InvoiceShared invoice, UserInvoice userInvoice, Price.ShowFormat priceFormat)
        {
            Contract.Requires(row != null);
            Contract.Requires(invoice != null);
            Contract.Requires(userInvoice != null);

            row.Cells[0].Value           = userInvoice.InvoiceOwner;
            row.Cells[0].Tag             = invoice.Id;
            row.Cells[1].Style.BackColor = Color.LightGray;

            row.Cells[2].Value = userInvoice.InvoiceOwner;

            row.Cells[3].Value           = userInvoice.GetReadOut().ToString();
            row.Cells[3].Style.BackColor = invoice.IsSumOfUserInvoicesDifferent(inv => inv.GetReadOut().Sum(), userInv => userInv.GetReadOut().Sum()) ?
                                           Color.LightPink : row.Cells[3].Style.BackColor;

            row.Cells[4].Value           = userInvoice.GetConsumption().ToString();
            row.Cells[4].Style.BackColor = invoice.IsSumOfUserInvoicesDifferent(inv => inv.GetConsumption().Sum(), userInv => userInv.GetConsumption().Sum()) ?
                                           Color.LightPink : row.Cells[4].Style.BackColor;

            row.Cells[5].Value           = userInvoice.GetBasicFee().ToString(priceFormat);
            row.Cells[5].Style.BackColor = invoice.IsSumOfUserInvoicesDifferent(
                inv => (inv.GetBasicFee().GetTotalPrice().VATLess),
                userInv => (userInv.GetBasicFee().GetTotalPrice().VATLess)) ?
                                           Color.LightPink : row.Cells[5].Style.BackColor;

            row.Cells[6].Value           = userInvoice.GetUsageFee().ToString(priceFormat);
            row.Cells[6].Style.BackColor = invoice.IsSumOfUserInvoicesDifferent(
                inv => (inv.GetUsageFee().GetTotalPrice().VATLess),
                userInv => (userInv.GetUsageFee().GetTotalPrice().VATLess)) ?
                                           Color.LightPink : row.Cells[6].Style.BackColor;

            row.Cells[7].Value = invoice.Balanced;

            row.Cells[8].Value           = userInvoice.GetTotalPrice().ToString(Price.ShowFormat.both);
            row.Cells[8].Style.BackColor = invoice.IsSumOfUserInvoicesDifferent(
                inv => (inv.GetTotalPrice().VATLess + inv.GetTotalPrice().WithVAT),
                userInv => (userInv.GetTotalPrice().VATLess + userInv.GetTotalPrice().WithVAT)) ?
                                           Color.LightPink : row.Cells[8].Style.BackColor;

            row.Tag = userInvoice;
        }
Exemplo n.º 16
0
 public void DeleteUserInvoice(UserInvoice UserInvoice)
 {
     UserInvoice.isDelete = true;
     _userInvoiceRepository.Update(UserInvoice);
     _unitOfWork.Commit();
 }
Exemplo n.º 17
0
 public void EditUserInvoice(UserInvoice UserInvoice)
 {
     _userInvoiceRepository.Update(UserInvoice);
     _unitOfWork.Commit();
 }
Exemplo n.º 18
0
        //[HttpPost]
        public ActionResult CreateInvoice()
        {
            List <InvoiceItem> listItem = (List <InvoiceItem>)Session["listItem"];

            if (listItem == null)
            {
                return(RedirectToAction("CreateVendor"));
            }
            var role          = Session["role"].ToString().ToLower();
            var requestorId   = Session["wwid"].ToString();
            var requestorMail = Session["mail"].ToString();
            var managerId     = Session["ManagerWWID"].ToString();


            Invoice inv = new Invoice();

            inv.Note               = requestorId + "|" + requestorMail + "|" + managerId;
            inv.PaymentVoucher     = 0;
            inv.totalPayment       = 0;
            inv.PaymentAmount      = 0;
            inv.PaymentCreatedDate = DateTime.Now;
            // inv.optionA = invoice.option.ToString();
            inv.optionA = Session["option"].ToString();

            if (role.Equals("accountant"))
            {
                inv.Description = Session["InvoiceID"].ToString();
            }

            _invoiceService.AddInvoice(inv);


            UserInvoice userInv = new UserInvoice();
            int         userId  = 0;

            if (role.Equals("requestor"))
            {
                userInv.StatusId = _statusService.GetAllStatuses().Where(p => p.StatusName.ToString().ToLower().Equals("pending for approve")).FirstOrDefault().Id;
                var roleID = _roleGroupService.GetAllRoleGroups().Where(p => p.GroupName.ToString().ToLower().Equals("requestor")).FirstOrDefault().Id;
                userId = _userTableService.GetAllUsers().Where(p => p.RoleGroupId == int.Parse(roleID.ToString())).FirstOrDefault().Id;
            }
            else if (role.Equals("accountant"))
            {
                userInv.StatusId = _statusService.GetAllStatuses().Where(p => p.StatusName.ToString().ToLower().Equals("pending for signature")).FirstOrDefault().Id;
                userId           = _userTableService.GetAllUsers().Where(p => p.WWID == int.Parse(requestorId)).FirstOrDefault().Id;
            }

            var invoiceId = _invoiceService.GetAllInvoices().LastOrDefault().Id;

            userInv.UserTableId = userId;
            // userInv.StatusId = statusId;
            userInv.InvoiceId = invoiceId;
            userInv.isDelete  = false;
            _userInvoiceService.AddUserInvoice(userInv);



            double totalPay = 0;

            foreach (var item in listItem)
            {
                InvoiceItem it = new InvoiceItem();
                it.ItemVendorId = item.ItemVendorId;
                it.InvoiceId    = invoiceId;
                it.isDelete     = false;
                it.Quantity     = item.Quantity;
                it.totalPrice   = item.totalPrice;
                totalPay       += item.totalPrice;
                _invoiceItemService.AddInvoiceItem(it);
            }

            Invoice invo = _invoiceService.GetInvoiceById(invoiceId);

            invo.totalPayment = totalPay;
            _invoiceService.EditInvoice(invo);



            Session["listItem"]  = null;
            Session["option"]    = null;
            Session["InvoiceID"] = null;


            InvoiceViewModel invoice = new InvoiceViewModel();

            invoice.Id          = invoiceId;
            invoice.Description = invo.Description;
            invoice.requestID   = invo.requestID;
            invoice.URL         = "";
            //return RedirectToAction("Index");
            return(View("Upload", invoice));
        }
Exemplo n.º 19
0
        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"));
        }