Ejemplo n.º 1
0
        public ActionResult Edit(int id)
        {
            ViewBag.Customer = db.CustomerMasters.ToList();
            ViewBag.Movement = db.CourierMovements.ToList();
            var _invoice = db.CustomerInvoices.Find(id);
            CustomerInvoiceVM _custinvoice = new CustomerInvoiceVM();

            _custinvoice.CustomerInvoiceID = _invoice.CustomerInvoiceID;
            _custinvoice.InvoiceDate       = _invoice.InvoiceDate;
            _custinvoice.CustomerInvoiceNo = _invoice.CustomerInvoiceNo;
            _custinvoice.CustomerID        = _invoice.CustomerID;
            _custinvoice.InvoiceTotal      = _invoice.InvoiceTotal;
            _custinvoice.Remarks           = _invoice.Remarks;
            List <CustomerInvoiceDetailVM> _details = new List <CustomerInvoiceDetailVM>();

            _details = RevenueDAO.GenerateInvoice(DateTime.Now, DateTime.Now, _invoice.CustomerID, 0, _invoice.CustomerInvoiceID);


            int _index = 0;

            foreach (var item in _details)
            {
                _details[_index].AWBChecked = true;
                //_details[_index].TotalCharges = Convert.ToDecimal(_details[_index].CourierCharge) + Convert.ToDecimal(_details[_index].CustomCharge) + Convert.ToDecimal(_details[_index].OtherCharge);
                _custinvoice.TotalCharges += _details[_index].TotalCharges;
                _index++;
            }

            _custinvoice.CustomerInvoiceDetailsVM = _details;

            Session["InvoiceListing"] = _details;
            return(View(_custinvoice));
        }
Ejemplo n.º 2
0
        public ActionResult GetCustomerAWBList(int Id)
        {
            DatePicker datePicker = SessionDataModel.GetTableVariable();
            List <CustomerInvoiceDetailVM> _details = new List <CustomerInvoiceDetailVM>();

            _details = (from c in db.InScanMasters
                        where (c.TransactionDate >= datePicker.FromDate && c.TransactionDate < datePicker.ToDate) &&
                        (c.InvoiceID == null || c.InvoiceID == 0) &&
                        c.PaymentModeId == 3 && //account
                        c.CustomerID == Id
                        select new CustomerInvoiceDetailVM
            {
                ConsignmentNo = c.ConsignmentNo,
                AWBDateTime = c.TransactionDate,
                ConsigneeName = c.Consignee,
                ConsigneeCountryName = c.ConsigneeCountryName,
                FreightCharge = 10,
                CustomsCharge = c.CustomsValue == null ? 0 : c.CustomsValue,
                OtherCharge = 0,           //c.OtherCharge == null ? 0 : c.OtherCharge,
                DocCharge = 0,             //c.OtherCharge == null ? 0 : c.OtherCharge,
                //StatusPaymentMode = c.StatusPaymentMode,
                InScanID = c.InScanID,
                MovementId = c.MovementID == null ? 0 : c.MovementID.Value, AWBChecked = true
            }).ToList().Where(tt => tt.MovementId != null).ToList().Where(cc => datePicker.SelectedValues.ToList().Contains(cc.MovementId.Value)).ToList();



            int _index = 0;
            CustomerInvoiceVM customerInvoice = new CustomerInvoiceVM();

            foreach (var item in _details)
            {
                _details[_index].TotalCharges = Convert.ToDecimal(_details[_index].FreightCharge) + Convert.ToDecimal(_details[_index].CustomsCharge) + Convert.ToDecimal(_details[_index].OtherCharge);
                customerInvoice.TotalCharges += _details[_index].TotalCharges;
                _index++;
            }


            //if (customerInvoice.CustomerInvoiceTax != 0)
            //{
            //    customerInvoice.ChargeableWT = (Convert.ToDouble(customerInvoice.TotalCharges) * (Convert.ToDouble(customerInvoice.CustomerInvoiceTax) / Convert.ToDouble(100.00)));

            //    customerInvoice.AdminAmt = (Convert.ToDecimal(customerInvoice.TotalCharges) * (Convert.ToDecimal(customerInvoice.AdminPer) / Convert.ToDecimal(100)));

            //    customerInvoice.FuelAmt = (Convert.ToDecimal(customerInvoice.TotalCharges) * (Convert.ToDecimal(customerInvoice.FuelPer) / Convert.ToDecimal(100)));

            //    customerInvoice.InvoiceTotal = Convert.ToDecimal(customerInvoice.TotalCharges) + Convert.ToDecimal(customerInvoice.ChargeableWT) + customerInvoice.AdminAmt + customerInvoice.FuelAmt;
            //}

            customerInvoice.CustomerInvoiceDetailsVM = _details;
            //Session["InvoiceListing"] = _details;

            return(PartialView("InvoiceList", customerInvoice));
        }
Ejemplo n.º 3
0
        public ActionResult Details(int id)
        {
            int branchid  = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int companyid = Convert.ToInt32(Session["CurrentCompanyID"].ToString());

            ViewBag.Customer = db.CustomerMasters.ToList();
            ViewBag.Movement = db.CourierMovements.ToList();
            var _invoice = db.CustomerInvoices.Find(id);
            CustomerInvoiceVM _custinvoice = new CustomerInvoiceVM();

            _custinvoice.CustomerInvoiceID = _invoice.CustomerInvoiceID;
            _custinvoice.InvoiceDate       = _invoice.InvoiceDate;
            _custinvoice.CustomerInvoiceNo = _invoice.CustomerInvoiceNo;
            _custinvoice.CustomerID        = _invoice.CustomerID;
            _custinvoice.CustomerName      = db.CustomerMasters.Find(_invoice.CustomerID).CustomerName;

            _custinvoice.InvoiceTotal = _invoice.InvoiceTotal;

            string monetaryunit = Session["MonetaryUnit"].ToString();

            _custinvoice.InvoiceTotalInWords = NumberToWords.ConvertAmount(Convert.ToDouble(_custinvoice.InvoiceTotal), monetaryunit);

            var comp = db.AcCompanies.Find(companyid);

            _custinvoice.CurrencyName = db.CurrencyMasters.Find(comp.CurrencyID).Symbol;
            List <CustomerInvoiceDetailVM> _details = new List <CustomerInvoiceDetailVM>();

            _details = RevenueDAO.GenerateInvoice(DateTime.Now, DateTime.Now, _invoice.CustomerID, 0, _invoice.CustomerInvoiceID);

            int _index = 0;

            foreach (var item in _details)
            {
                _details[_index].AWBChecked = true;

                _custinvoice.TotalCharges += _details[_index].TotalCharges;
                _index++;
            }

            _custinvoice.CustomerInvoiceDetailsVM = _details;

            Session["InvoiceListing"] = _details;
            return(View(_custinvoice));
        }
Ejemplo n.º 4
0
        public JsonResult GetTotalCharge(CustomerInvoiceVM customerinvoice)
        {
            int _index = 0;
            List <CustomerInvoiceDetailVM> _details = customerinvoice.CustomerInvoiceDetailsVM;

            //List<CustomerInvoiceDetailVM> _details = Session["InvoiceListing"] as List<CustomerInvoiceDetailVM>;
            if (_details != null)
            {
                foreach (var item in _details)
                {
                    if (item.AWBChecked)
                    {
                        _details[_index].TotalCharges = Convert.ToDecimal(_details[_index].FreightCharge) + Convert.ToDecimal(_details[_index].CustomsCharge) + Convert.ToDecimal(_details[_index].OtherCharge) + Convert.ToDecimal(_details[_index].DocCharge);
                        customerinvoice.TotalCharges += _details[_index].TotalCharges;
                    }
                    _index++;
                }
                customerinvoice.InvoiceTotal = Convert.ToDecimal(customerinvoice.TotalCharges);
            }
            return(Json(new { data = customerinvoice }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 5
0
        public static List <CustomerInvoiceVM> GetInvoiceList(DateTime FromDate, DateTime ToDate, string InvoiceNo, int FyearId)
        {
            SqlCommand cmd           = new SqlCommand();
            string     strConnString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

            cmd.Connection  = new SqlConnection(strConnString);
            cmd.CommandText = "SP_GetInvoiceList";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@FromDate", FromDate.ToString("MM/dd/yyyy"));
            cmd.Parameters.AddWithValue("@ToDate", ToDate.ToString("MM/dd/yyyy"));
            cmd.Parameters.AddWithValue("@FYearId", FyearId);
            if (InvoiceNo == null)
            {
                InvoiceNo = "";
            }
            cmd.Parameters.AddWithValue("@InvoiceNo", @InvoiceNo);

            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet        ds = new DataSet();

            da.Fill(ds);
            List <CustomerInvoiceVM> objList = new List <CustomerInvoiceVM>();
            CustomerInvoiceVM        obj;

            if (ds != null && ds.Tables.Count > 0)
            {
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    obj = new CustomerInvoiceVM();
                    obj.CustomerInvoiceID = CommanFunctions.ParseInt(ds.Tables[0].Rows[i]["CustomerInvoiceID"].ToString());
                    obj.CustomerInvoiceNo = ds.Tables[0].Rows[i]["CustomerInvoiceNo"].ToString();
                    obj.InvoiceDate       = Convert.ToDateTime(ds.Tables[0].Rows[i]["InvoiceDate"].ToString());
                    obj.CustomerName      = ds.Tables[0].Rows[i]["CustomerName"].ToString();
                    obj.CustomerID        = CommanFunctions.ParseInt(ds.Tables[0].Rows[i]["CustomerID"].ToString());
                    obj.InvoiceTotal      = CommanFunctions.ParseDecimal(ds.Tables[0].Rows[i]["InvoiceTotal"].ToString());
                    objList.Add(obj);
                }
            }
            return(objList);
        }
Ejemplo n.º 6
0
        public ActionResult InvoicePrintold(int id)
        {
            int           branchid   = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int           companyid  = Convert.ToInt32(Session["CurrentCompanyID"].ToString());
            NumberToWords _numtoword = new NumberToWords();

            ViewBag.Customer = db.CustomerMasters.ToList();
            ViewBag.Movement = db.CourierMovements.ToList();
            var _invoice = db.CustomerInvoices.Find(id);
            CustomerInvoiceVM _custinvoice = new CustomerInvoiceVM();

            _custinvoice.CustomerInvoiceID = _invoice.CustomerInvoiceID;
            _custinvoice.InvoiceDate       = _invoice.InvoiceDate;
            _custinvoice.CustomerInvoiceNo = _invoice.CustomerInvoiceNo;
            _custinvoice.CustomerID        = _invoice.CustomerID;
            var _cust = db.CustomerMasters.Find(_invoice.CustomerID);

            _custinvoice.CustomerName        = _cust.CustomerName;
            _custinvoice.CustomerCountryName = _cust.CountryName;
            _custinvoice.CustomerCityName    = _cust.CityName;
            _custinvoice.CustomerPhoneNo     = _cust.Phone;
            _custinvoice.CustomerCode        = _cust.CustomerCode;
            _custinvoice.CustomerTRNNo       = _cust.VATTRN;
            _custinvoice.InvoiceTotal        = _invoice.InvoiceTotal;
            //_custinvoice.invoiceFooter = (from c in db.GeneralSetups join d in db.GeneralSetupTypes on c.SetupID equals d.ID where d.TypeName == "Invoicefooter" select c.Text1).FirstOrDefault();
            _custinvoice.generalSetup = (from c in db.GeneralSetups join d in db.GeneralSetupTypes on c.SetupID equals d.ID where d.TypeName == "InvoiceFooter" && c.BranchId == branchid select c).FirstOrDefault();
            var comp = db.AcCompanies.Find(companyid);

            _custinvoice.CurrencyName = db.CurrencyMasters.Find(comp.CurrencyID).Symbol;
            if (comp.LogoFileName == "" || comp.LogoFileName == null)
            {
                ViewBag.LogoPath = "/UploadFiles/" + "defaultlogo.png";
            }
            else
            {
                ViewBag.LogoPath = "/UploadFiles/" + comp.LogoFileName;
            }
            string monetaryunit = Session["MonetaryUnit"].ToString();

            _custinvoice.InvoiceTotalInWords = NumberToWords.ConvertAmount(Convert.ToDouble(_custinvoice.InvoiceTotal), monetaryunit);

            List <CustomerInvoiceDetailVM> _details = new List <CustomerInvoiceDetailVM>();

            _details = RevenueDAO.GenerateInvoice(DateTime.Now, DateTime.Now, _invoice.CustomerID, 0, _invoice.CustomerInvoiceID);

            int _index = 0;

            foreach (var item in _details)
            {
                _details[_index].AWBChecked = true;

                _custinvoice.TotalCharges += _details[_index].TotalCharges;
                _index++;
            }

            _custinvoice.CustomerInvoiceDetailsVM = _details;

            _custinvoice.CustomerInvoiceDetailsVM = _details;

            Session["InvoiceListing"] = _details;
            return(View(_custinvoice));
        }
Ejemplo n.º 7
0
        public ActionResult Edit(CustomerInvoiceVM model)
        {
            var userid = Convert.ToInt32(Session["UserID"]);

            if (model.CustomerInvoiceID > 0)
            {
                CustomerInvoice _custinvoice = new CustomerInvoice();
                _custinvoice                 = db.CustomerInvoices.Find(model.CustomerInvoiceID);
                _custinvoice.InvoiceDate     = model.InvoiceDate;
                _custinvoice.TaxPercent      = model.TaxPercent;
                _custinvoice.InvoiceTotal    = model.InvoiceTotal;
                _custinvoice.Remarks         = model.Remarks;
                _custinvoice.ModifiedBy      = userid;
                _custinvoice.ModifiedDate    = CommanFunctions.GetCurrentDateTime();
                db.Entry(_custinvoice).State = EntityState.Modified;
                db.SaveChanges();

                List <CustomerInvoiceDetailVM> e_Details = model.CustomerInvoiceDetailsVM; //  Session["InvoiceListing"] as List<CustomerInvoiceDetailVM>;

                model.CustomerInvoiceDetailsVM = e_Details;

                if (model.CustomerInvoiceDetailsVM != null)
                {
                    foreach (var e_details in model.CustomerInvoiceDetailsVM)
                    {
                        if (e_details.CustomerInvoiceDetailID == 0 && e_details.AWBChecked)
                        {
                            CustomerInvoiceDetail _detail = new CustomerInvoiceDetail();
                            _detail.CustomerInvoiceDetailID = db.CustomerInvoiceDetails.Select(x => x.CustomerInvoiceDetailID).DefaultIfEmpty(0).Max() + 1;
                            _detail.CustomerInvoiceID       = _custinvoice.CustomerInvoiceID;
                            _detail.ConsignmentNo           = e_details.ConsignmentNo;
                            _detail.InScanID = e_details.InScanID;
                            //_detail.StatusPaymentMode = e_details.StatusPaymentMode;
                            _detail.FreightCharge = e_details.FreightCharge;
                            _detail.CustomsCharge = e_details.CustomsCharge;
                            _detail.DocCharge     = e_details.DocCharge;
                            _detail.OtherCharge   = e_details.OtherCharge;
                            db.CustomerInvoiceDetails.Add(_detail);
                            db.SaveChanges();

                            //inscan invoice modified
                            InScanMaster _inscan = db.InScanMasters.Find(e_details.InScanID);
                            _inscan.InvoiceID       = _custinvoice.CustomerInvoiceID;
                            db.Entry(_inscan).State = EntityState.Modified;
                            db.SaveChanges();

                            RevenueUpdateMaster _revenueupdate = db.RevenueUpdateMasters.Where(cc => cc.InScanID == e_details.InScanID).FirstOrDefault();
                            _revenueupdate.InvoiceId       = _custinvoice.CustomerInvoiceID;
                            db.Entry(_revenueupdate).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                        else if (e_details.CustomerInvoiceDetailID == 0 && e_details.AWBChecked == false)
                        {
                            //CustomerInvoiceDetail _detail = new CustomerInvoiceDetail();
                            //_detail = db.CustomerInvoiceDetails.Find(e_details.CustomerInvoiceID);
                            //_detail.CourierCharge = e_details.CourierCharge;
                            //_detail.CustomCharge = e_details.CustomCharge;
                            //_detail.OtherCharge = e_details.OtherCharge;
                            //db.CustomerInvoiceDetails.Add(_detail);
                            //db.SaveChanges();

                            ////inscan invoice modified
                            //InScanMaster _inscan = db.InScanMasters.Find(e_details.InscanID);
                            //_inscan.InvoiceID = _custinvoice.CustomerInvoiceID;
                            //db.Entry(_inscan).State = System.Data.EntityState.Modified;
                            //db.SaveChanges();
                        }
                        else if (e_details.CustomerInvoiceDetailID > 0 && e_details.AWBChecked == false)
                        {
                            CustomerInvoiceDetail _detail = new CustomerInvoiceDetail();
                            _detail = db.CustomerInvoiceDetails.Find(e_details.CustomerInvoiceDetailID);
                            db.CustomerInvoiceDetails.Remove(_detail);
                            db.SaveChanges();
                            ////inscan invoice modified
                            InScanMaster _inscan = db.InScanMasters.Find(e_details.InScanID);
                            _inscan.InvoiceID       = null;
                            db.Entry(_inscan).State = EntityState.Modified;
                            db.SaveChanges();

                            RevenueUpdateMaster        _revenueupdate       = db.RevenueUpdateMasters.Where(cc => cc.InScanID == e_details.InScanID).FirstOrDefault();
                            List <RevenueUpdateDetail> revenueUpdateDetails = db.RevenueUpdateDetails.Where(cc => cc.MasterID == _revenueupdate.ID).ToList();
                            foreach (RevenueUpdateDetail item in revenueUpdateDetails)
                            {
                                item.InvoiceId       = null;
                                db.Entry(item).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                            //_revenueupdate.InvoiceId = null;
                            //db.Entry(_revenueupdate).State = EntityState.Modified;
                            //db.SaveChanges();
                        }
                    }
                }
                //Accounts Posting
                PickupRequestDAO _dao = new PickupRequestDAO();
                _dao.GenerateInvoicePosting(_custinvoice.CustomerInvoiceID);

                TempData["SuccessMsg"] = "You have successfully Updated the Customer Invoice";
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Ejemplo n.º 8
0
        public ActionResult Create(CustomerInvoiceVM model)
        {
            int branchid  = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int companyId = Convert.ToInt32(Session["CurrentCompanyID"].ToString());
            var userid    = Convert.ToInt32(Session["UserID"]);
            int yearid    = Convert.ToInt32(Session["fyearid"].ToString());

            if (model.CustomerInvoiceID == 0)
            {
                CustomerInvoice _custinvoice = new CustomerInvoice();
                var             max          = db.CustomerInvoices.Select(x => x.CustomerInvoiceID).DefaultIfEmpty(0).Max() + 1;
                _custinvoice.CustomerInvoiceID = max;
                _custinvoice.CustomerInvoiceNo = model.CustomerInvoiceNo;
                _custinvoice.InvoiceDate       = model.InvoiceDate;
                _custinvoice.CustomerID        = model.CustomerID;
                //_custinvoice.CustomerInvoiceTax = model.CustomerInvoiceTax;
                //_custinvoice.ChargeableWT = model.ChargeableWT;
                //_custinvoice.AdminPer = model.AdminPer;
                //_custinvoice.AdminAmt = model.AdminAmt;
                //_custinvoice.FuelPer = model.FuelPer;
                //_custinvoice.FuelAmt = model.FuelAmt;
                //_custinvoice.OtherCharge = model.OtherCharge;
                _custinvoice.InvoiceTotal      = model.InvoiceTotal;
                _custinvoice.AcFinancialYearID = yearid;
                _custinvoice.AcCompanyID       = companyId;
                _custinvoice.BranchID          = branchid;
                _custinvoice.Remarks           = model.Remarks;
                _custinvoice.CreatedBy         = userid;
                _custinvoice.CreatedDate       = CommanFunctions.GetCurrentDateTime();
                _custinvoice.ModifiedBy        = userid;
                _custinvoice.ModifiedDate      = CommanFunctions.GetCurrentDateTime();
                db.CustomerInvoices.Add(_custinvoice);
                db.SaveChanges();

                List <CustomerInvoiceDetailVM> e_Details = model.CustomerInvoiceDetailsVM; //  Session["InvoiceListing"] as List<CustomerInvoiceDetailVM>;

                model.CustomerInvoiceDetailsVM = e_Details;

                if (model.CustomerInvoiceDetailsVM != null)
                {
                    foreach (var e_details in model.CustomerInvoiceDetailsVM)
                    {
                        if (e_details.CustomerInvoiceDetailID == 0 && e_details.AWBChecked)
                        {
                            CustomerInvoiceDetail _detail = new CustomerInvoiceDetail();
                            _detail.CustomerInvoiceDetailID = db.CustomerInvoiceDetails.Select(x => x.CustomerInvoiceDetailID).DefaultIfEmpty(0).Max() + 1;
                            _detail.CustomerInvoiceID       = _custinvoice.CustomerInvoiceID;
                            _detail.ConsignmentNo           = e_details.ConsignmentNo;
                            _detail.InScanID = e_details.InScanID;
                            //_detail.StatusPaymentMode = e_details.StatusPaymentMode;
                            _detail.FreightCharge = e_details.FreightCharge;
                            _detail.CustomsCharge = e_details.CustomsCharge;
                            _detail.OtherCharge   = e_details.OtherCharge;
                            _detail.DocCharge     = e_details.DocCharge;
                            _detail.NetValue      = e_details.TotalCharges;
                            db.CustomerInvoiceDetails.Add(_detail);
                            db.SaveChanges();

                            //inscan invoice modified
                            InScanMaster _inscan = db.InScanMasters.Find(e_details.InScanID);
                            _inscan.InvoiceID       = _custinvoice.CustomerInvoiceID;
                            db.Entry(_inscan).State = EntityState.Modified;
                            db.SaveChanges();

                            RevenueUpdateMaster _revenueupdate = db.RevenueUpdateMasters.Where(cc => cc.InScanID == e_details.InScanID).FirstOrDefault();
                            var revenuedetails = db.RevenueUpdateDetails.Where(cc => cc.MasterID == _revenueupdate.ID && cc.InvoiceId == null).ToList();
                            foreach (var revdetail in revenuedetails)
                            {
                                revdetail.InvoiceId       = _custinvoice.CustomerInvoiceID;
                                db.Entry(revdetail).State = EntityState.Modified;
                                db.SaveChanges();
                            }
                            _revenueupdate.InvoiceId       = _custinvoice.CustomerInvoiceID;
                            db.Entry(_revenueupdate).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                }

                //Accounts Posting
                PickupRequestDAO _dao = new PickupRequestDAO();
                _dao.GenerateInvoicePosting(_custinvoice.CustomerInvoiceID);

                TempData["SuccessMsg"] = "You have successfully Saved the Customer Invoice";
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Ejemplo n.º 9
0
        public ActionResult Create()
        {
            int        branchid   = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int        companyid  = Convert.ToInt32(Session["CurrentCompanyID"].ToString());
            int        yearid     = Convert.ToInt32(Session["fyearid"].ToString());
            DatePicker datePicker = SessionDataModel.GetTableVariable();

            ViewBag.Token    = datePicker;
            ViewBag.Movement = db.CourierMovements.ToList();
            if (datePicker != null)
            {
                ViewBag.Customer = (from c in db.InScanMasters
                                    join cust in db.CustomerMasters on c.CustomerID equals cust.CustomerID
                                    where (c.TransactionDate >= datePicker.FromDate && c.TransactionDate < datePicker.ToDate)
                                    select new CustmorVM {
                    CustomerID = cust.CustomerID, CustomerName = cust.CustomerName
                }).Distinct();
            }

            CustomerInvoiceVM _custinvoice = new CustomerInvoiceVM();
            PickupRequestDAO  _dao         = new PickupRequestDAO();
            DateTime          saveNow      = DateTime.Now;
            DateTime          myDt;

            myDt = DateTime.SpecifyKind(saveNow, DateTimeKind.Unspecified);

            _custinvoice.InvoiceDate       = myDt;// DateTimeKind. DateTimeOffset.Now.UtcDateTime.AddHours(5.30); // DateTime.Now;
            _custinvoice.CustomerInvoiceNo = _dao.GetMaxInvoiceNo(companyid, branchid);
            //_custinvoice.FromDate = datePicker.FromDate;
            //_custinvoice.ToDate = datePicker.ToDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
            List <CustomerInvoiceDetailVM> _details = new List <CustomerInvoiceDetailVM>();

            if (datePicker != null)
            {
                if (datePicker.CustomerId != null)
                {
                    _custinvoice.CustomerID = Convert.ToInt32(datePicker.CustomerId);
                }
                _details = RevenueDAO.GenerateInvoice(datePicker.FromDate, datePicker.ToDate, Convert.ToInt32(datePicker.CustomerId), yearid, 0);

                int _index = 0;
                _custinvoice.InvoiceTotal = 0;

                foreach (var item in _details)
                {
                    _details[_index].AWBChecked = true;
                    _custinvoice.TotalCharges   = _custinvoice.TotalCharges + _details[_index].TotalCharges;
                    _index++;
                }

                _custinvoice.InvoiceTotal = _custinvoice.TotalCharges;
                //_custinvoice.InvoiceTotal = Convert.ToDecimal(customerinvoice.TotalCharges) + Convert.ToDecimal(customerinvoice.ChargeableWT) + customerinvoice.AdminAmt + customerinvoice.FuelAmt + customerinvoice.OtherCharge;
            }


            ////CustomerInvoiceDetailVM _detail = new CustomerInvoiceDetailVM();
            ////_detail.AWBNo = "1010";
            ////_detail.CourierCharge = 100;
            ////_detail.OtherCharge = 2020;
            ////_details.Add(_detail);
            ///
            _custinvoice.CustomerInvoiceDetailsVM = _details;
            if (_details.Count == 0)
            {
                TempData["SuccessMsg"] = "No more Items pending to Invoice!";
            }
            Session["InvoiceListing"] = _details;
            return(View(_custinvoice));
        }