public ActionResult AddOrRemoveShipment(ImportShipmentFormModel s_ImportShipment, int?i)
        {
            var Prevshipmentsession = Session["PreviousShipments"] as List <ImportShipmentDetail>;

            if (i.HasValue)
            {
                if (Prevshipmentsession == null)
                {
                }
                else
                {
                    foreach (var item in Prevshipmentsession)
                    {
                        s_ImportShipment.Shipments.Add(item);
                    }
                }
                s_ImportShipment.Shipments.RemoveAt(i.Value);
                Session["PreviousShipments"] = s_ImportShipment.Shipments;
            }
            else
            {
                if (s_ImportShipment.Shipments == null)
                {
                    s_ImportShipment.Shipments = new List <ImportShipmentDetail>();
                }
                var shipmentsession = Session["Shipmentdetails"] as ImportShipmentDetail;
                var Serialnumber    = Convert.ToInt32(Session["ShipSerialNumber"]);
                var isupdate        = Convert.ToBoolean(Session["IsUpdate"]);
                if (Prevshipmentsession == null)
                {
                }
                else
                {
                    foreach (var item in Prevshipmentsession)
                    {
                        s_ImportShipment.Shipments.Add(item);
                    }
                }
                if (isupdate == true)
                {
                    //s_ImportShipment.Shipments.RemoveAt(Serialnumber);
                    s_ImportShipment.Shipments[Serialnumber] = shipmentsession;
                }
                else
                {
                    s_ImportShipment.Shipments.Add(shipmentsession);
                }
                Session["Shipmentdetails"]  = new ImportShipmentDetail();
                Session["ShipSerialNumber"] = "";
                Session["IsUpdate"]         = false;
            }
            ViewBag.Cities               = db.CityMasters.ToList();
            ViewBag.Countries            = db.CountryMasters.ToList();
            ViewBag.DestinationCountryID = db.CountryMasters.ToList();
            ViewBag.CurrencyID           = db.CurrencyMasters.ToList();
            ViewBag.Currencies           = db.CurrencyMasters.ToList();

            return(PartialView("ShipmentList", s_ImportShipment));
        }
        public bool AddShippmentToTable(FormCollection data)
        {
            var shipmentmodel = new ImportShipmentDetail();

            shipmentmodel.CurrencyID         = Convert.ToInt32(data["tCurrencyID"]);
            shipmentmodel.AWB                = data["tAWB"];
            shipmentmodel.HAWB               = data["tHAWB"];
            shipmentmodel.BagNo              = data["tBagNo"];
            shipmentmodel.PCS                = Convert.ToInt32(data["tPCS"]);
            shipmentmodel.Weight             = Convert.ToDecimal(data["tWeight"]);
            shipmentmodel.Value              = Convert.ToDecimal(data["tValue"]);
            shipmentmodel.Shipper            = data["tShipper"];
            shipmentmodel.Reciver            = data["tReciver"];
            shipmentmodel.Contents           = data["tContents"];
            shipmentmodel.DestinationCountry = data["tDestinationCountryID"];
            shipmentmodel.DestinationCity    = data["tDestinationCityID"];
            shipmentmodel.ShipmentDetailID   = Convert.ToInt32(data["tId"]);
            Session["Shipmentdetails"]       = shipmentmodel;
            Session["ShipSerialNumber"]      = Convert.ToInt32(data["tSerialNum"]);
            Session["IsUpdate"]              = Convert.ToBoolean(data["isupdate"]);
            return(true);
        }
Esempio n. 3
0
        public JsonResult SaveQuickInScan(InScanVM v)
        {
            //InScan inscan = new InScan();
            int UserId    = Convert.ToInt32(Session["UserID"].ToString());
            int BranchId  = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int CompanyId = Convert.ToInt32(Session["CurrentCompanyID"].ToString());

            var inscanitems = v.SelectedInScanId.Split(',');

            try
            {
                QuickInscanMaster _qinscan = new QuickInscanMaster();
                if (v.QuickInscanID > 0)
                {
                    _qinscan = db.QuickInscanMasters.Find(v.QuickInscanID);
                }
                else
                {
                    int?maxid = (from c in db.QuickInscanMasters orderby c.QuickInscanID descending select c.QuickInscanID).FirstOrDefault();

                    if (maxid == null)
                    {
                        _qinscan.QuickInscanID = 1;
                    }
                    else
                    {
                        _qinscan.QuickInscanID = Convert.ToInt32(maxid) + 1;
                    }
                }

                _qinscan.InscanSheetNumber = v.InScanSheetNo;
                _qinscan.AcCompanyId       = CompanyId;
                _qinscan.ReceivedByID      = v.ReceivedByID;
                _qinscan.AgentID           = v.AgentID;
                //_qinscan.CollectedByID = v.CollectedByID;
                _qinscan.QuickInscanDateTime = v.QuickInscanDateTime;
                _qinscan.VehicleId           = v.VehicleId;
                _qinscan.DriverName          = v.DriverName;
                _qinscan.BranchId            = BranchId;
                _qinscan.DepotId             = v.DepotID;
                _qinscan.UserId = UserId;
                _qinscan.Source = "Import";
                if (v.QuickInscanID > 0)
                {
                    db.Entry(_qinscan).State = EntityState.Modified;
                    var removeinscanitems = v.RemovedInScanId.Split(',');


                    foreach (var _item in removeinscanitems)
                    {
                        int _inscanid = Convert.ToInt32(_item);

                        var _inscan = db.ImportShipmentDetails.Find(_inscanid);
                        _inscan.QuickInscanID = null;

                        var couriercstatus = db.CourierStatus.Where(c => c.CourierStatus == "Export Manifest Prepared").FirstOrDefault();
                        if (couriercstatus != null)
                        {
                            _inscan.CourierStatusID = couriercstatus.CourierStatusID;
                        }
                        var statustype = db.tblStatusTypes.Where(c => c.Name == "READY TO EXPORT").FirstOrDefault();
                        if (statustype != null)
                        {
                            _inscan.StatusTypeId = statustype.ID;
                        }

                        db.Entry(_inscan).State = EntityState.Modified;
                        db.SaveChanges();

                        //updateing awbstaus table for tracking
                        AWBTrackStatu _awbstatus = new AWBTrackStatu();
                        int?          id         = (from c in db.AWBTrackStatus orderby c.AWBTrackStatusId descending select c.AWBTrackStatusId).FirstOrDefault();

                        if (id == null)
                        {
                            id = 1;
                        }
                        else
                        {
                            id = id + 1;
                        }

                        _awbstatus.AWBTrackStatusId = Convert.ToInt32(id);
                        _awbstatus.AWBNo            = _inscan.HAWB;
                        _awbstatus.EntryDate        = DateTime.Now;
                        _awbstatus.ShipmentDetailID = _inscan.ShipmentDetailID;
                        _awbstatus.StatusTypeId     = Convert.ToInt32(_inscan.StatusTypeId);
                        _awbstatus.CourierStatusId  = Convert.ToInt32(_inscan.CourierStatusID);
                        _awbstatus.ShipmentStatus   = db.tblStatusTypes.Find(_inscan.StatusTypeId).Name;
                        _awbstatus.CourierStatus    = db.CourierStatus.Find(_inscan.CourierStatusID).CourierStatus;
                        _awbstatus.UserId           = UserId;

                        db.AWBTrackStatus.Add(_awbstatus);
                        db.SaveChanges();
                    }
                }
                else
                {
                    db.QuickInscanMasters.Add(_qinscan);
                    db.SaveChanges();
                }

                foreach (var item in inscanitems)
                {
                    int _inscanid = Convert.ToInt32(item);
                    ImportShipmentDetail _inscan = db.ImportShipmentDetails.Find(_inscanid);
                    _inscan.QuickInscanID   = _qinscan.QuickInscanID;
                    _inscan.StatusTypeId    = db.tblStatusTypes.Where(cc => cc.Name == "INSCAN").First().ID;
                    _inscan.CourierStatusID = db.CourierStatus.Where(cc => cc.StatusTypeID == _inscan.StatusTypeId && cc.CourierStatus == "Received at Origin Facility").FirstOrDefault().CourierStatusID;
                    db.Entry(_inscan).State = EntityState.Modified;
                    db.SaveChanges();

                    //updateing awbstaus table for tracking
                    AWBTrackStatu _awbstatus = new AWBTrackStatu();
                    int?          id         = (from c in db.AWBTrackStatus orderby c.AWBTrackStatusId descending select c.AWBTrackStatusId).FirstOrDefault();

                    if (id == null)
                    {
                        id = 1;
                    }
                    else
                    {
                        id = id + 1;
                    }

                    _awbstatus.AWBTrackStatusId = Convert.ToInt32(id);
                    _awbstatus.AWBNo            = _inscan.HAWB;
                    _awbstatus.EntryDate        = DateTime.Now;
                    _awbstatus.ShipmentDetailID = _inscan.ShipmentDetailID;
                    _awbstatus.StatusTypeId     = Convert.ToInt32(_inscan.StatusTypeId);
                    _awbstatus.CourierStatusId  = Convert.ToInt32(_inscan.CourierStatusID);
                    _awbstatus.ShipmentStatus   = db.tblStatusTypes.Find(_inscan.StatusTypeId).Name;
                    _awbstatus.CourierStatus    = db.CourierStatus.Find(_inscan.CourierStatusID).CourierStatus;
                    _awbstatus.UserId           = UserId;

                    db.AWBTrackStatus.Add(_awbstatus);
                    db.SaveChanges();
                }

                //TempData["SuccessMsg"] = "You have successfully Saved InScan Items.";

                return(Json(new { status = "ok", message = "You have successfully Saved InScan Items.!" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { status = "Failed", message = ex.Message }, JsonRequestBehavior.AllowGet));
                //return Json("Failed", JsonRequestBehavior.AllowGet);
            }
        }