Ejemplo n.º 1
0
        public ActionResult Create(int Id)
        {
            int FYearId = Convert.ToInt32(Session["fyearid"].ToString());

            //ViewBag.Branch = db.BranchMasters.ToList();
            ViewBag.Routes = db.RouteMasters.ToList();
            //ViewBag.Locations = db.LocationMasters.ToList();
            ViewBag.Currency = db.CurrencyMasters.ToList();
            int branchid  = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int companyId = Convert.ToInt32(Session["CurrentCompanyID"].ToString());

            ViewBag.Achead       = db.AcHeads.Where(d => d.AcBranchID == branchid).ToList();
            ViewBag.Drivers      = db.DriverMasters.ToList();
            ViewBag.Vehicles     = db.VehicleMasters.ToList();
            ViewBag.Countries    = db.CountryMasters.ToList();
            ViewBag.parceltype   = db.ParcelTypes.ToList();
            ViewBag.Documents    = db.DocumentSetups.ToList();
            ViewBag.VehicleTypes = db.VehicleTypes.ToList();
            ViewBag.FwdAgents    = db.SupplierMasters.Where(c => c.SupplierTypeID == 2).ToList();
            ViewBag.OtherCharge  = db.OtherCharges.ToList();
            var transtypes = new SelectList(new[]
            {
                new { ID = "N", trans = "Select" },
                new { ID = "C", trans = "Cash" },
                new { ID = "B", trans = "Bank" },
            },
                                            "ID", "trans", "N");

            ViewBag.StatusPaymentMode = transtypes;
            ViewBag.Title             = "Daily Trips - Create";
            TruckDetailVM1 vm1         = new TruckDetailVM1();
            var            truckDetail = (from d in db.TruckDetails where d.TruckDetailID == Id select d).FirstOrDefault();

            if (truckDetail == null)
            {
                truckDetail         = new TruckDetail();
                ViewBag.VehicleType = "H";
                var Truck = db.TruckDetails.ToList().LastOrDefault();
                var MaxId = 1000;
                if (Truck == null)
                {
                    MaxId = 1;
                }
                else
                {
                    MaxId = Truck.TruckDetailID + 1;
                }
                var ReceiptNo         = "TDS-" + MaxId;
                PickupRequestDAO _dao = new PickupRequestDAO();
                vm1.ReceiptNo         = _dao.GetTDSReceiptNo(companyId, branchid, "H", FYearId);
                vm1.VehicleType       = "H";
                vm1.CurrencyIDRent    = Convert.ToInt32(Session["CurrencyId"].ToString());
                vm1.PaymentCurrencyID = Convert.ToInt32(Session["CurrencyId"].ToString());
                var ac = db.AcHeadControls.Where(cc => cc.Pagecontrol == 1 && cc.AccountName == "Rent Account").FirstOrDefault();
                if (ac != null)
                {
                    vm1.RentAcHeadID = ac.AccountHeadID;
                    vm1.RentAcHead   = db.AcHeads.Where(cc => cc.AcHeadID == vm1.RentAcHeadID).FirstOrDefault().AcHead1;
                }

                List <TruckDetailOtherChargeVM> otherchargesvm = new List <TruckDetailOtherChargeVM>();
                vm1.otherchargesVM = otherchargesvm;
                ViewBag.EditMode   = "false";
            }
            else
            {
                ViewBag.EditMode = "true";
                List <TruckDetailOtherChargeVM> otherchargesvm = new List <TruckDetailOtherChargeVM>();
                ViewBag.Title         = "Daily Trips - Modify";
                vm1.TruckDetailID     = truckDetail.TruckDetailID;
                vm1.VehicleType       = truckDetail.VehicleType;
                vm1.DriverName        = truckDetail.DriverName;
                vm1.ReceiptNo         = truckDetail.ReceiptNo;
                vm1.TDDate            = truckDetail.TDDate;
                vm1.DriverID          = truckDetail.DriverID;
                vm1.VehicleID         = truckDetail.VehicleID;
                vm1.RouteID           = truckDetail.RouteID;
                vm1.OriginName        = truckDetail.OriginName;
                vm1.DestinationName   = truckDetail.DestinationName;
                vm1.RegNo             = truckDetail.RegNo;
                vm1.Rent              = truckDetail.Rent;
                vm1.RentAcHeadID      = truckDetail.RentAcHeadID;
                vm1.RentAcHead        = db.AcHeads.Find(truckDetail.RentAcHeadID).AcHead1;
                vm1.ParcelTypeId      = truckDetail.ParcelTypeId;
                vm1.TDRemarks         = truckDetail.TDRemarks;
                vm1.VehicleType       = truckDetail.VehicleType;
                vm1.OtherCharges      = truckDetail.OtherCharges;
                vm1.StatusPaymentMode = truckDetail.StatusPaymentMode.Trim();
                vm1.ChequeDate        = truckDetail.ChequeDate;
                vm1.ChequeNo          = truckDetail.ChequeNo;
                vm1.ConsignmentNoNote = truckDetail.ConsignmentNoNote;
                vm1.Amount            = truckDetail.Amount;
                vm1.FYearID           = truckDetail.FYearID;
                vm1.CurrencyIDRent    = truckDetail.CurrencyIDRent;
                vm1.PaymentCurrencyID = truckDetail.PaymentCurrencyID;
                vm1.PaymentHeadID     = truckDetail.PaymentHeadID;
                vm1.Remarks           = truckDetail.Remarks;
                if (truckDetail.PaymentHeadID != null)
                {
                    vm1.PaymentHead = db.AcHeads.Find(truckDetail.PaymentHeadID).AcHead1;
                }
                if (truckDetail.TDcontrolAcHeadID != null)
                {
                    vm1.TDcontrolAcHeadID = truckDetail.TDcontrolAcHeadID;
                    vm1.TDcontrolAcHead   = db.AcHeads.Find(truckDetail.TDcontrolAcHeadID).AcHead1;
                }

                if (truckDetail.VehicleType == "F")
                {
                    vm1.ForwardAgentID = truckDetail.ForwardAgentID;
                }
                otherchargesvm = (from c in db.TruckDetailOtherCharges join o in db.OtherCharges on c.OtherChargeID equals o.OtherChargeID where c.TruckDetailId == Id select new TruckDetailOtherChargeVM {
                    TruckDetailId = Id, OtherChargeID = c.OtherChargeID, OtherChargeName = o.OtherCharge1, Amount = c.Amount
                }).ToList();
                if (otherchargesvm == null)
                {
                    otherchargesvm     = new List <TruckDetailOtherChargeVM>();
                    vm1.otherchargesVM = otherchargesvm;
                }
                else
                {
                    vm1.otherchargesVM = otherchargesvm;
                }
            }

            return(View(vm1));
        }
Ejemplo n.º 2
0
        public ActionResult Create(TruckDetailVM1 data)
        {
            try
            {
                int branchid          = Convert.ToInt32(Session["CurrentBranchID"].ToString());
                int companyId         = Convert.ToInt32(Session["CurrentCompanyID"].ToString());
                int FYearId           = Convert.ToInt32(Session["fyearid"].ToString());
                var TruckDetail       = new TruckDetail();
                var TruckDetailID     = Convert.ToInt32(data.TruckDetailID);
                PickupRequestDAO _dao = new PickupRequestDAO();
                TruckDetail = (from d in db.TruckDetails where d.TruckDetailID == TruckDetailID select d).FirstOrDefault();
                if (TruckDetail == null)
                {
                    TruckDetail = new TruckDetail();
                    var Truck = db.TruckDetails.ToList().LastOrDefault();
                    var MaxId = 1000;
                    if (Truck == null)
                    {
                        MaxId = 1;
                    }
                    else
                    {
                        MaxId = Truck.TruckDetailID + 1;
                    }

                    TruckDetail.ReceiptNo = _dao.GetTDSReceiptNo(companyId, branchid, data.VehicleType, FYearId);
                }

                TruckDetail.VehicleID = Convert.ToInt32(data.VehicleID);
                var vehicle = db.VehicleMasters.Find(data.VehicleID);
                TruckDetail.FYearID     = FYearId;
                TruckDetail.AcCompanyID = companyId;
                TruckDetail.BranchID    = branchid;
                TruckDetail.VehicleType = Convert.ToString(data.VehicleType);

                if (TruckDetail.VehicleType == "F")
                {
                    TruckDetail.ForwardAgentID = Convert.ToInt32(data.ForwardAgentID);
                    TruckDetail.RegNo          = Convert.ToString(data.RegNo);
                }
                else
                {
                    TruckDetail.ForwardAgentID = null;
                    TruckDetail.RegNo          = vehicle.RegistrationNo;
                    TruckDetail.DriverID       = Convert.ToInt32(data.DriverID);
                    TruckDetail.DriverName     = Convert.ToString(data.DriverName);
                }

                TruckDetail.TDDate = Convert.ToDateTime(data.TDDate);
                if (data.StatusPaymentMode != null)
                {
                    TruckDetail.StatusPaymentMode = Convert.ToString(data.StatusPaymentMode);
                }
                else
                {
                    TruckDetail.StatusPaymentMode = "N";
                }
                if (TruckDetail.StatusPaymentMode.Trim() == "B")
                {
                    if (data.ChequeNo != null)
                    {
                        TruckDetail.ChequeNo = Convert.ToString(data.ChequeNo);
                    }
                    try
                    {
                        if (data.ChequeDate != null)
                        {
                            TruckDetail.ChequeDate = Convert.ToDateTime(data.ChequeDate);
                        }
                    }
                    catch (Exception ex1)
                    {
                        TruckDetail.ChequeDate = null;
                    }
                }
                if (data.RouteID != null)
                {
                    TruckDetail.RouteID = Convert.ToInt32(data.RouteID);
                }

                TruckDetail.OriginName        = Convert.ToString(data.OriginName);
                TruckDetail.DestinationName   = Convert.ToString(data.DestinationName);
                TruckDetail.ParcelTypeId      = data.ParcelTypeId;
                TruckDetail.Rent              = Convert.ToDecimal(data.Rent);
                TruckDetail.CurrencyIDRent    = Convert.ToInt32(data.CurrencyIDRent);
                TruckDetail.OtherCharges      = Convert.ToDecimal(data.OtherCharges);
                TruckDetail.ConsignmentNoNote = Convert.ToString(data.ConsignmentNoNote);
                //TruckDetail.CurrencyRent = Convert.ToDecimal(data.CurrencyRent);
                TruckDetail.RentAcHeadID = Convert.ToInt32(data.RentAcHeadID);
                TruckDetail.TDRemarks    = Convert.ToString(data.TDRemarks);

                if (TruckDetail.StatusPaymentMode.Trim() == "C" || TruckDetail.StatusPaymentMode.Trim() == "B")
                {
                    TruckDetail.PaymentHeadID     = Convert.ToInt32(data.PaymentHeadID);
                    TruckDetail.TDcontrolAcHeadID = Convert.ToInt32(data.TDcontrolAcHeadID);
                    TruckDetail.CurrencyAmount    = Convert.ToDecimal(data.Amount);
                    TruckDetail.Amount            = Convert.ToDecimal(data.Amount);
                    TruckDetail.PaymentCurrencyID = Convert.ToInt32(data.PaymentCurrencyID);
                    TruckDetail.Remarks           = Convert.ToString(data.Remarks);
                }
                else
                {
                    TruckDetail.StatusPaymentMode = "N";
                }

                TruckDetail.IsDeleted = false;

                if (TruckDetail.TruckDetailID == 0)
                {
                    db.TruckDetails.Add(TruckDetail);
                }

                db.SaveChanges();
                if (data.TruckDetailID > 0)
                {
                    var details = (from d in db.TruckDetailOtherCharges where d.TruckDetailId == data.TruckDetailID select d).ToList();
                    db.TruckDetailOtherCharges.RemoveRange(details);
                    db.SaveChanges();
                }

                //Other charge data update into inscanothercharge table
                if (data.otherchargesVM != null)
                {
                    for (int j = 0; j < data.otherchargesVM.Count; j++)
                    {
                        if (data.otherchargesVM[j].deleted == false)
                        {
                            //InscanOtherCharge objOtherCharge = new InscanOtherCharge();
                            int oid = Convert.ToInt32(data.otherchargesVM[j].OtherChargeID);
                            TruckDetailOtherCharge objOtherCharge = db.TruckDetailOtherCharges.Where(cc => cc.TruckDetailId == TruckDetail.TruckDetailID && cc.OtherChargeID == oid).FirstOrDefault();
                            if (objOtherCharge == null)
                            {
                                objOtherCharge = new TruckDetailOtherCharge();
                                var maxid = (from c in db.TruckDetailOtherCharges orderby c.TruckDetailOtherChargeID descending select c.TruckDetailOtherChargeID).FirstOrDefault();
                                objOtherCharge.TruckDetailOtherChargeID = maxid + 1;
                                objOtherCharge.TruckDetailId            = TruckDetail.TruckDetailID;
                                objOtherCharge.OtherChargeID            = data.otherchargesVM[j].OtherChargeID;
                                objOtherCharge.Amount = data.otherchargesVM[j].Amount;
                                db.TruckDetailOtherCharges.Add(objOtherCharge);
                                db.SaveChanges();
                                db.Entry(objOtherCharge).State = EntityState.Detached;
                            }
                            else
                            {
                                //objOtherCharge.OtherChargeID = v.otherchargesVM[j].OtherChargeID;
                                objOtherCharge.Amount          = data.otherchargesVM[j].Amount;
                                db.Entry(objOtherCharge).State = EntityState.Modified;
                                db.SaveChanges();
                                db.Entry(objOtherCharge).State = EntityState.Detached;
                            }
                        }
                    }

                    //var otherchargeitems = db.TruckDetailOtherCharges.Where(cc => cc.TruckDetailId==data.TruckDetailID);
                    //var exportdetailsid = data.otherchargesVM.Select(s => s.OtherChargeID).ToList();
                    //foreach (var e_details in otherchargeitems)
                    //{

                    //    var _found = data.otherchargesVM.Where(cc => cc.OtherChargeID == e_details.OtherChargeID).FirstOrDefault();
                    //    if (_found == null)
                    //    {
                    //        db.Entry(e_details).State = EntityState.Deleted;

                    //    }
                    //}

                    //db.SaveChanges();
                }
                /// other charges saving
                _dao.GenerateDailyTripsPosting(TruckDetail.TruckDetailID);
                TempData["SuccessMsg"] = "Daily Trips Saved Successfully!";
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                ViewBag.parceltype = db.ParcelTypes.ToList();
                ViewBag.Routes     = db.RouteMasters.ToList();
                ViewBag.Currency   = db.CurrencyMasters.ToList();
                int branchid = Convert.ToInt32(Session["CurrentBranchID"].ToString());
                ViewBag.Achead       = db.AcHeads.Where(d => d.AcBranchID == branchid).ToList();
                ViewBag.Documents    = db.DocumentSetups.ToList();
                ViewBag.VehicleTypes = db.VehicleTypes.ToList();
                ViewBag.FwdAgents    = db.SupplierMasters.Where(c => c.SupplierTypeID == 2).ToList();
                ViewBag.OtherCharge  = db.OtherCharges.ToList();
                TempData["ErrorMsg"] = e.Message;
                if (data.otherchargesVM == null)
                {
                    data.otherchargesVM = new List <TruckDetailOtherChargeVM>();
                }
                return(View(data));
            }
        }