Example #1
0
        public JsonResult SaveReleaseStatus(RealeseHoldVM item)
        {
            int UserId   = Convert.ToInt32(Session["UserID"].ToString());
            int branchid = Convert.ToInt32(Session["CurrentBranchID"].ToString());

            try
            {
                var inscan = db.InScanMasters.Where(itm => itm.InScanID == item.InScanID).FirstOrDefault();


                HoldRelease v = new HoldRelease();
                v.InScanId   = item.InScanID;
                v.EntryDate  = item.ReleaseOn;
                v.EmployeeId = item.ReleaseBy;
                v.Remarks    = item.ReleaseReason;
                v.ActionType = "Release";
                v.BranchId   = branchid;
                db.HoldReleases.Add(v);
                db.SaveChanges();

                //updating status to inscan
                inscan.StatusTypeId    = db.tblStatusTypes.Where(cc => cc.Name == "HOLD").First().ID;
                inscan.CourierStatusID = db.CourierStatus.Where(cc => cc.StatusTypeID == inscan.StatusTypeId && cc.CourierStatus == "Released").FirstOrDefault().CourierStatusID;
                // db.Entry(obj).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.ConsignmentNo;
                _awbstatus.EntryDate        = DateTime.Now;
                _awbstatus.InScanId         = inscan.InScanID;
                _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();
                return(Json(new { status = "ok", message = "AWB Item Released Successfully!" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { status = "Failed", message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult SubmitTruckAssign(string TripDate, int RouteId, int VehicleId, string InscanId)
        {
            try
            {
                DateTime pFromDate;
                pFromDate = Convert.ToDateTime(TripDate);
                var toDate                 = pFromDate.AddDays(1);
                var InscanIds              = InscanId.Split(',').Select(Int32.Parse).ToList();
                var TruckDetail            = (from d in db.TruckDetails where (d.TDDate >= pFromDate && d.TDDate <= toDate) && d.RouteID == RouteId && d.VehicleID == VehicleId && d.IsDeleted == false select d).FirstOrDefault();
                List <InScanMaster> Inscan = (from d in db.InScanMasters where InscanIds.Contains(d.InScanID) select d).ToList();
                Inscan.ForEach(d => d.TruckDetailId = TruckDetail.TruckDetailID);
                db.SaveChanges();
                int uid           = Convert.ToInt32(Session["UserID"].ToString());
                var courierstatus = db.CourierStatus.Where(d => d.CourierStatus.ToLower() == "assign truck").FirstOrDefault();

                foreach (var item in Inscan)
                {
                    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            = item.ConsignmentNo;
                    _awbstatus.EntryDate        = DateTime.Now;
                    _awbstatus.InScanId         = item.InScanID;
                    _awbstatus.StatusTypeId     = Convert.ToInt32(courierstatus.StatusTypeID);
                    _awbstatus.CourierStatusId  = Convert.ToInt32(courierstatus.CourierStatusID);
                    _awbstatus.ShipmentStatus   = db.tblStatusTypes.Find(courierstatus.StatusTypeID).Name;
                    _awbstatus.CourierStatus    = courierstatus.CourierStatus;
                    _awbstatus.UserId           = uid;

                    db.AWBTrackStatus.Add(_awbstatus);
                    db.SaveChanges();
                }
                return(Json(new { status = "ok", message = "Successfully Submitted" }, JsonRequestBehavior.AllowGet));
            }catch (Exception e)
            {
                return(Json(new { status = "failed", message = e.Message.ToString() }, JsonRequestBehavior.AllowGet));
            }
        }
Example #3
0
        public ActionResult Create(HoldVM item)
        {
            int branchid = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int UserId   = Convert.ToInt32(Session["UserID"].ToString());

            if (item.Action == "Create")
            {
                var inscan = db.InScanMasters.Where(itm => itm.InScanID == item.InScanID).FirstOrDefault();

                HoldRelease v = new HoldRelease();
                v.InScanId   = item.InScanID;
                v.EntryDate  = item.HeldOn;
                v.EmployeeId = item.HeldBy;
                v.Remarks    = item.HeldResoan;
                v.ActionType = "Hold";
                v.BranchId   = branchid;
                db.HoldReleases.Add(v);
                db.SaveChanges();

                //updating status to inscan
                inscan.StatusTypeId    = db.tblStatusTypes.Where(cc => cc.Name == "HOLD").First().ID;
                inscan.CourierStatusID = db.CourierStatus.Where(cc => cc.StatusTypeID == inscan.StatusTypeId && cc.CourierStatus == "OnHold").FirstOrDefault().CourierStatusID;
                // db.Entry(obj).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.ConsignmentNo;
                _awbstatus.EntryDate        = DateTime.Now;
                _awbstatus.InScanId         = inscan.InScanID;
                _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 added AWB to Hold Status";
            }

            else
            {
                HoldRelease v = db.HoldReleases.Where(cc => cc.InScanId == item.InScanID && cc.ActionType == item.ActionType).First();

                v.EntryDate       = item.HeldOn;
                v.EmployeeId      = item.HeldBy;
                v.Remarks         = item.HeldResoan;
                db.Entry(v).State = EntityState.Modified;
                db.SaveChanges();
                TempData["SuccessMsg"] = "You have successfully Updated AWB to " + item.ActionType + " Entry";
            }

            return(RedirectToAction("Index"));
        }
        public JsonResult SaveStatus(ChangeStatus v)
        {
            int    uid     = Convert.ToInt32(Session["UserID"].ToString());
            string status  = "ok";
            string message = "";
            bool   statuschangepersmission = true;

            try
            {
                InScanMaster _enquiry = db.InScanMasters.Find(v.InScanID);

                //admin level rights checking to revert the status
                if (_enquiry.CourierStatusID > v.ChangeStatusId)
                {
                    List <int> RoleId = (List <int>)Session["RoleID"];
                    if (RoleId[0] != 1)
                    {
                        statuschangepersmission = false;
                    }
                }

                if (statuschangepersmission == false)
                {
                    status = "failed";
                    return(Json(new { status = status, message = "User does not have persmission to revert the status,Contact Admin!" }, JsonRequestBehavior.AllowGet));
                }


                if (v.ChangeStatusId == 2)
                {
                    _enquiry.AssignedEmployeeID = v.AssignedEmployee;
                    _enquiry.CourierStatusID    = 2;
                }
                else if (v.ChangeStatusId == 3)
                {
                    _enquiry.CourierStatusID = 3;
                    _enquiry.SubReasonId     = v.SubStatusReason;
                }
                else if (v.ChangeStatusId == 4)
                {
                    _enquiry.PickedUpEmpID   = v.PickedUpId;
                    _enquiry.PickedupDate    = v.PickedUpDateTime;
                    _enquiry.CourierStatusID = 4;
                }

                db.Entry(_enquiry).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            = _enquiry.ConsignmentNo;
                _awbstatus.EntryDate        = DateTime.Now;
                _awbstatus.InScanId         = _enquiry.InScanID;
                _awbstatus.StatusTypeId     = Convert.ToInt32(_enquiry.StatusTypeId);
                _awbstatus.CourierStatusId  = Convert.ToInt32(_enquiry.CourierStatusID);
                _awbstatus.ShipmentStatus   = db.tblStatusTypes.Find(_enquiry.StatusTypeId).Name;
                _awbstatus.CourierStatus    = db.CourierStatus.Find(_enquiry.CourierStatusID).CourierStatus;
                _awbstatus.UserId           = uid;

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

                message = "Status Changed Successfully!";
            }

            catch (Exception ex)
            {
                status  = "failed";
                message = ex.Message;
            }
            return(Json(new { status = status, message = message }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(PickupRequestVM v)
        {
            PickupRequestDAO _dao = new PickupRequestDAO();
            int branchid          = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int depotId           = Convert.ToInt32(Session["CurrentDepotID"].ToString());
            int companyId         = Convert.ToInt32(Session["CurrentCompanyID"].ToString());
            int uid            = Convert.ToInt32(Session["UserID"].ToString());
            UserRegistration u = (from c in db.UserRegistrations where c.UserID == uid select c).FirstOrDefault();
            int    empid       = u.UserID;
            string empname     = u.UserName;

            InScanMaster _enquiry = new InScanMaster();

            if (v.InScanID == 0)
            {
                int id = (from c in db.InScanMasters orderby c.InScanID descending select c.InScanID).FirstOrDefault();
                _enquiry.InScanID        = id + 1;
                _enquiry.EnquiryNo       = _dao.GetMaxPickupRequest(companyId, branchid); // (id + 1).ToString();
                _enquiry.ConsignmentNo   = _dao.GetMaAWBNo(companyId, branchid);
                _enquiry.AcCompanyID     = companyId;
                _enquiry.BranchID        = branchid;
                _enquiry.DepotID         = depotId;
                _enquiry.TransactionDate = DateTime.Now;
                _enquiry.DeviceID        = "WebSite";
                _enquiry.IsDeleted       = false;
                int statustypeid = db.tblStatusTypes.Where(c => c.Name == "PICKUP REQUEST").FirstOrDefault().ID;
                _enquiry.StatusTypeId = statustypeid; //pickuprequest
            }
            else
            {
                _enquiry = db.InScanMasters.Find(v.InScanID);
            }

            _enquiry.DocumentSetupID   = v.DocumentTypeId;
            _enquiry.PickupRequestDate = Convert.ToDateTime(v.EnquiryDate);
            _enquiry.CustomerID        = v.CustomerID;

            _enquiry.ConsignorCountryName  = v.ConsignorCountryName;
            _enquiry.ConsignorCityName     = v.ConsignorCityName;
            _enquiry.ConsigneeLocationName = v.ConsigneeLocationName;
            _enquiry.ConsignorLocationName = v.ConsignorLocationName;

            _enquiry.ConsigneeCountryName = v.ConsigneeCountryName;
            _enquiry.ConsigneeCityName    = v.ConsigneeCityName;
            _enquiry.Weight = Convert.ToDecimal(v.Weight);


            _enquiry.Consignee = v.Consignee;
            _enquiry.Consignor = v.Consignor;
            _enquiry.ConsignorAddress1_Building = v.ConsignorAddress;
            _enquiry.ConsignorAddress2_Street   = v.ConsignorAddress1;
            _enquiry.ConsignorAddress3_PinCode  = v.ConsignorAddress2;
            _enquiry.ConsigneeAddress1_Building = v.ConsigneeAddress;
            _enquiry.ConsigneeAddress2_Street   = v.ConsigneeAddress1;
            _enquiry.ConsigneeAddress3_PinCode  = v.ConsigneeAddress2;
            _enquiry.ConsignorPhone             = v.ConsignorPhone;
            _enquiry.ConsigneePhone             = v.ConsigneePhone;

            _enquiry.AssignedEmployeeID = v.EmployeeID;

            _enquiry.Remarks       = v.Remarks;
            _enquiry.PickedUpEmpID = v.CollectedEmpID;
            _enquiry.PickedupDate  = v.CollectedTime;

            //_enquiry.ShipmentType = v.ShipmentType;
            //if (v.vehreq == true)
            //{
            //    _enquiry.Vehicle = v.Vehicle;
            //    _enquiry.VehicleID = v.VehicleID;
            //}


            _enquiry.ConsigneeContact = v.ConsigneeContact;
            _enquiry.ConsignorContact = v.ConsignorContact;
            _enquiry.EnteredByID      = empid; //userid
            _enquiry.IsEnquiry        = true;

            _enquiry.PickupReadyTime = v.ReadyTime;

            //_enquiry.OfficeTimeFrom = v.OfficeTimeFrom;
            //_enquiry.OfficeTimeTo = v.OfficeTimeTo;

            _enquiry.RequestSource = v.RequestSource;

            if (_enquiry.StatusTypeId == 1)
            {
                if (_enquiry.AssignedEmployeeID == null)
                {
                    _enquiry.CourierStatusID = 1;
                }
                else if (_enquiry.AssignedEmployeeID != null && _enquiry.PickedUpEmpID == null)
                {
                    _enquiry.CourierStatusID = 2;
                }
                //else if (_enquiry.PickedUpEmpID != null)
                //{
                //    _enquiry.PickupRequestStatusId = 3;
                //}
                else if (_enquiry.StatusTypeId == 1 && _enquiry.CourierStatusID == null)
                {
                    _enquiry.CourierStatusID = 1; //request
                }
            }

            //db.CustomerEnquiries.Add(_enquiry);
            if (v.InScanID == 0)
            {
                db.InScanMasters.Add(_enquiry);
                db.SaveChanges();
                //
                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            = _enquiry.ConsignmentNo;
                _awbstatus.EntryDate        = DateTime.Now;
                _awbstatus.InScanId         = _enquiry.InScanID;
                _awbstatus.StatusTypeId     = Convert.ToInt32(_enquiry.StatusTypeId);
                _awbstatus.CourierStatusId  = Convert.ToInt32(_enquiry.CourierStatusID);
                _awbstatus.ShipmentStatus   = db.tblStatusTypes.Find(_enquiry.StatusTypeId).Name;
                _awbstatus.CourierStatus    = db.CourierStatus.Find(_enquiry.CourierStatusID).CourierStatus;
                _awbstatus.UserId           = uid;

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

                SaveConsignee(v);
                TempData["SuccessMsg"] = "You have successfully added Pickup Request.";
            }
            else
            {
                SaveConsignee(v);
                db.Entry(_enquiry).State = EntityState.Modified;
                db.SaveChanges();
                TempData["SuccessMsg"] = "You have successfully updated Pickup Request.";
            }

            return(RedirectToAction("Index"));

            //}
            //else
            //{
            //    int uid = Convert.ToInt32(Session["UserID"].ToString());

            //    UserRegistration u = (from c in db.UserRegistrations where c.UserID == uid select c).FirstOrDefault();
            //    int empid = u.UserID;
            //    string empname = u.UserName;

            //    ViewBag.Country = db.CountryMasters.ToList();
            //    ViewBag.City = db.CityMasters.ToList();
            //    ViewBag.Location = db.LocationMasters.ToList();
            //    ViewBag.Vehicle = db.VehicleMasters.ToList();
            //    ViewBag.Employee = db.EmployeeMasters.ToList();
            //    ViewBag.Customer = db.CustomerMasters.ToList();
            //    ViewBag.RequestType = db.RequestTypes.ToList();
            //    ViewBag.empname = empname;
            //    ViewBag.empid = empid;
            //    PickupRequestDAO doa = new PickupRequestDAO();
            //    ViewBag.RequestNo = doa.GetMaxPickupRequest();
            //    return View();
            //}
        }
        public ActionResult Create(ImportShipmentFormModel model)
        {
            var today  = DateTime.Now.Date;
            var userid = Convert.ToInt32(Session["UserID"]);
            //var agent1 = (from u2 in db.UserRegistrations join c1 in db.AgentMasters on u2.UserID equals c1.UserID where u2.UserID == userid select c1).FirstOrDefault();
            //var user = (from u2 in db.UserRegistrations select u2).FirstOrDefault();

            var agent    = db.AgentMasters.Where(aa => aa.UserID == userid).FirstOrDefault();
            var fwdagent = db.ForwardingAgentMasters.FirstOrDefault();

            //var company = db.AcCompanies.Select(x => new { Address = x.Address1 + ", " + x.Address2 + ", " + x.Address3, x.CountryID, x.Phone, x.AcCompany1, x.CountryName }).FirstOrDefault();

            var            company        = db.AcCompanies.FirstOrDefault(); //. Select(x => new { Address = x.Address1 + ", " + x.Address2 + ", " + x.Address3, x.CountryID, x.Phone, x.AcCompany1, x.CountryName }).FirstOrDefault();
            ImportShipment importShipment = new ImportShipment();

            if (ModelState.IsValid)
            {
                if (model.ID == 0)
                {
                    importShipment.ID = db.ImportShipments.Select(x => x.ID).DefaultIfEmpty(0).Max() + 1;

                    long manifestNumber = 0;
                    manifestNumber = db.ImportShipments.Where(x => x.AgentID == agent.AgentID).Count() + 1;
                    var Manifest = $"{DateTime.Now.ToString("yyyyMMdd")}{agent.AgentCode}{(manifestNumber.ToString("D4"))}";
                    importShipment.ManifestNumber             = Manifest;
                    importShipment.AgentID                    = agent.AgentID;
                    importShipment.CreatedDate                = DateTime.Now;
                    importShipment.ConsignorName              = agent.Name;
                    importShipment.ConsignorCityName          = agent.CityName;
                    importShipment.ConsignorCountryName       = agent.CountryName;
                    importShipment.ConsignorAddress1_Building = agent.Address1;
                    importShipment.ConsignorAddress2_Street   = agent.Address2;
                    importShipment.ConsignorAddress3_PinCode  = agent.Address3;
                    importShipment.ConsignorLocationName      = agent.LocationName;
                    importShipment.ConsigneeName              = company.AcCompany1;
                    importShipment.ConsigneeCountryName       = company.CountryName;
                    importShipment.ConsigneeCityName          = company.CityName;
                    importShipment.ConsigneeLocationName      = company.LocationName;
                    importShipment.ConsigneeAddress1_Building = company.Address1;
                    importShipment.ConsigneeAddress2_Street   = company.Address2;
                    importShipment.ConsigneeAddress3_PinCode  = company.Address3;
                    importShipment.AgentLoginID               = userid;
                }
                else
                {
                    importShipment = db.ImportShipments.Find(model.ID);
                }


                importShipment.Bags                   = model.Bags;
                importShipment.CD                     = model.CD;
                importShipment.FlightDate             = model.FlightDate;
                importShipment.FlightNo               = model.FlightNo;
                importShipment.LastEditedByLoginID    = userid;
                importShipment.MAWB                   = model.MAWB;
                importShipment.RunNo                  = model.RunNo;
                importShipment.TotalAWB               = model.TotalAWB;
                importShipment.Type                   = model.Type;
                importShipment.DestinationAirportCity = model.DestinationAirportCity;
                importShipment.OriginAirportCity      = model.OriginAirportCity;

                if (model.ID == 0)
                {
                    db.ImportShipments.Add(importShipment);
                    db.SaveChanges();
                }
                else
                {
                    db.Entry(importShipment).State = EntityState.Modified;
                    db.SaveChanges();
                }

                var max = db.ImportShipmentDetails.Select(x => x.ShipmentDetailID).DefaultIfEmpty(0).Max() + 1;
                if (model.Shipments != null)

                {
                    //model.Shipments.ForEach(x =>
                    //{
                    //    x.ShipmentDetailID = max;
                    //    x.ImportID = importShipment.ID;
                    //    x.Status = 1;
                    //    max++;
                    //});
                    foreach (var det in model.Shipments)
                    {
                        if (det.ShipmentDetailID == 0)
                        {
                            det.ShipmentDetailID = max;
                            det.ImportID         = importShipment.ID;
                            det.StatusTypeId     = db.tblStatusTypes.Where(cc => cc.Name == "FORWARDED").FirstOrDefault().ID;
                            det.CourierStatusID  = db.CourierStatus.Where(cc => cc.CourierStatus == "Forwarded to Agent").FirstOrDefault().CourierStatusID;
                            db.ImportShipmentDetails.Add(det);
                            db.SaveChanges();
                            max++;
                        }
                        else
                        {
                            det.ImportID        = importShipment.ID;
                            det.StatusTypeId    = db.tblStatusTypes.Where(cc => cc.Name == "FORWARDED").FirstOrDefault().ID;
                            det.CourierStatusID = db.CourierStatus.Where(cc => cc.CourierStatus == "Forwarded to Agent").FirstOrDefault().CourierStatusID;
                            db.Entry(det).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            = det.HAWB;
                        _awbstatus.EntryDate        = DateTime.Now;
                        _awbstatus.ShipmentDetailID = det.ShipmentDetailID;
                        _awbstatus.StatusTypeId     = Convert.ToInt32(det.StatusTypeId);
                        _awbstatus.CourierStatusId  = Convert.ToInt32(det.CourierStatusID);
                        _awbstatus.ShipmentStatus   = db.tblStatusTypes.Find(det.StatusTypeId).Name;
                        _awbstatus.CourierStatus    = db.CourierStatus.Find(det.CourierStatusID).CourierStatus;
                        _awbstatus.UserId           = userid;

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

                    var li            = model.Shipments.Select(x => x.ShipmentDetailID).ToList();
                    var importdetails = db.ImportShipmentDetails.Where(x => !li.Contains(x.ShipmentDetailID) && x.ImportID == importShipment.ID).ToList();
                    foreach (var import in importdetails)
                    {
                        db.ImportShipmentDetails.Add(import);
                        db.SaveChanges();
                    }
                }
                else
                {
                    var remove_datas = db.ImportShipmentDetails.Where(s => s.ImportID == importShipment.ID).ToList();
                    foreach (var rdata in remove_datas)
                    {
                        db.ImportShipmentDetails.Remove(rdata);
                        db.SaveChanges();
                    }
                }
                return(RedirectToAction("Index"));
            }
            model.ConsignorName        = agent.Name;
            model.ConsignorCountryName = agent.CountryName;
            model.ConsignorCityName    = agent.CityName;
            model.ConsignorAddress     = agent.Address1 + "," + agent.Address2 + "," + agent.Address3;

            model.ConsigneeName        = company.AcCompany1;
            model.ConsigneeCityName    = company.CityName;
            model.ConsigneeCountryName = company.CountryName;
            model.ConsigneeAddress     = company.Address1 + "," + company.Address2 + "," + company.Address3;



            if (model.Shipments == null)
            {
                model.Shipments = new List <ImportShipmentDetail>();
            }
            var countries = db.CountryMasters.ToList();// db.CountryMasters.ToList();

            ViewBag.OriginCityID         = new SelectList(new List <CityMaster>(), "CityID", "City");
            ViewBag.DestinationCityID    = new SelectList(new List <CityMaster>(), "CityID", "City");
            ViewBag.OriginCountryID      = countries;
            ViewBag.DestinationCountryID = countries;
            ViewBag.CurrencyID           = db.CurrencyMasters.ToList();
            ViewBag.Cities    = db.CityMasters.ToList();
            ViewBag.Countries = db.CountryMasters.ToList();
            string selectedVal = null;
            var    types       = new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "Transhipment", Value = "Transhipment", Selected = selectedVal == "Transhipment"
                },
                new SelectListItem {
                    Text = "Import", Value = "Import", Selected = selectedVal == "Import"
                },
            };

            ViewBag.Type        = types;
            ViewBag.Currencies  = db.CurrencyMasters.ToList();
            ViewBag.AgentName   = agent.Name;
            ViewBag.AgentCity   = agent.CityName;
            ViewBag.CompanyName = company.AcCompany1;

            return(View(model));
        }
Example #7
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());
            int yearid      = Convert.ToInt32(Session["fyearid"].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.AcFinancialYearID = yearid;
                }

                _qinscan.InscanSheetNumber   = v.InScanSheetNo;
                _qinscan.AcCompanyId         = CompanyId;
                _qinscan.ReceivedByID        = v.ReceivedByID;
                _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 = "Inhouse";
                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.InScanMasters.Find(_inscanid);
                        _inscan.QuickInscanID   = null;
                        _inscan.PickedUpEmpID   = null;
                        _inscan.DepotReceivedBy = null;
                        //_inscan.TransactionDate = v.QuickInscanDateTime;
                        //_inscan.VehicleID = null;
                        _inscan.StatusTypeId    = db.tblStatusTypes.Where(cc => cc.Name == "PICKUP REQUEST").First().ID;
                        _inscan.CourierStatusID = db.CourierStatus.Where(cc => cc.StatusTypeID == _inscan.StatusTypeId && cc.CourierStatus == "Assigned For Collections").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.ConsignmentNo;
                        _awbstatus.EntryDate        = DateTime.Now;
                        _awbstatus.InScanId         = _inscan.InScanID;
                        _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);
                    InScanMaster _inscan   = db.InScanMasters.Find(_inscanid);
                    _inscan.QuickInscanID   = _qinscan.QuickInscanID;
                    _inscan.PickedUpEmpID   = v.CollectedByID;
                    _inscan.DepotReceivedBy = v.ReceivedByID;
                    //_inscan.TransactionDate = v.QuickInscanDateTime;
                    //_inscan.VehicleID = v.VehicleId;
                    _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();
                }

                //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);
            }
        }
Example #8
0
        public ActionResult Edit(DRSVM v)
        {
            int UserId    = Convert.ToInt32(Session["UserID"].ToString());
            int BranchId  = Convert.ToInt32(Session["CurrentBranchID"].ToString());
            int CompanyId = Convert.ToInt32(Session["CurrentCompanyID"].ToString());

            try
            {
                //var data = (from c in db.DRSDetails where c.DRSID == v.DRSID select c).ToList();
                //foreach (var item in data)
                //{
                //    db.DRSDetails.Remove(item);
                //    db.SaveChanges();
                //}

                var data = (from c in db.InScanMasters where c.DRSID == v.DRSID select c).ToList();
                foreach (var item in data)
                {
                    var _inscan = db.InScanMasters.Find(item.InScanID);
                    _inscan.DRSID           = null;
                    db.Entry(_inscan).State = EntityState.Modified;
                    db.SaveChanges();

                    var awbtrack = db.AWBTrackStatus.Where(cc => cc.InScanId == item.InScanID && cc.ShipmentStatus == "OUTSCAN" && cc.CourierStatus == "Out for Delivery at Origin").First();
                    db.AWBTrackStatus.Remove(awbtrack);
                    db.SaveChanges();
                }


                DR objdrs = db.DRS.Find(v.DRSID);
                //objdrs.DRSNo = objdrs.DRSID.ToString();
                objdrs.DRSDate              = v.DRSDate;
                objdrs.DeliveredBy          = v.DeliveredBy;
                objdrs.CheckedBy            = v.CheckedBy;
                objdrs.TotalAmountCollected = 0;
                objdrs.VehicleID            = v.VehicleID;
                objdrs.StatusDRS            = "0";
                objdrs.AcCompanyID          = Convert.ToInt32(Session["CurrentCompanyID"].ToString());
                objdrs.StatusInbound        = false;
                objdrs.DrsType              = "Courier";

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

                foreach (var item in v.lst)
                {
                    var _inscan = db.InScanMasters.Find(item.InScanID);
                    _inscan.DRSID           = objdrs.DRSID;
                    _inscan.StatusTypeId    = db.tblStatusTypes.Where(cc => cc.Name == "OUTSCAN").First().ID;
                    _inscan.CourierStatusID = db.CourierStatus.Where(cc => cc.StatusTypeID == _inscan.StatusTypeId && cc.CourierStatus == "Out for Delivery at Origin").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.ConsignmentNo;
                    _awbstatus.EntryDate        = DateTime.Now;
                    _awbstatus.InScanId         = _inscan.InScanID;
                    _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();
                }


                //foreach (var item in v.lst)
                //{
                //    DRSDetail d = new DRSDetail();
                //    d.DRSID = objdrs.DRSID;
                //    d.AWBNO = item.AWB;
                //    d.InScanID = item.InScanID;
                //    d.CourierCharge = item.COD;
                //    d.MaterialCost = 0;
                //    d.StatusPaymentMode = "PKP";
                //    d.CCReceived = 0;
                //    d.CCStatuspaymentType = "CS";
                //    d.MCReceived = 0;
                //    d.MCStatuspaymentType = "CS";
                //    d.Remarks = "";
                //    d.ReceiverName = item.Consignee;
                //    d.CourierStatusID = 9;
                //    d.StatusAWB = "DD";
                //    d.EmployeeID = Convert.ToInt32(Session["UserID"].ToString());
                //    d.ReturnTime = DateTime.Now;

                //    db.DRSDetails.Add(d);
                //    db.SaveChanges();

                //}
                TempData["success"] = "DRS Updated Successfully.";
                return(RedirectToAction("Index"));
            }
            catch (Exception c)
            {
            }

            return(View());
        }
Example #9
0
        public ActionResult Create(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());
            int yearid      = Convert.ToInt32(Session["fyearid"].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.AcFinancialYearID = yearid;
                }

                _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;
                    if (v.RemovedInScanId != null)
                    {
                        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();
                }
                if (v.SelectedInScanId != null)
                {
                    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 Import Items.";
                return(RedirectToAction("Index"));


                //  return Json(new { status = "ok", message = "You have successfully Saved InScan Items.!" }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                TempData["WarningMsg"] = ex.Message;
                ViewBag.depot          = (from c in db.tblDepots where c.BranchID == BranchId select c).ToList();
                ViewBag.employee       = db.EmployeeMasters.ToList();
                ViewBag.employeerec    = db.EmployeeMasters.ToList();
                ViewBag.Vehicles       = db.VehicleMasters.ToList();
                ViewBag.Agents         = db.AgentMasters.ToList();
                ViewBag.CourierService = db.CourierServices.ToList();
                return(View(v));
                //return Json(new { status = "Failed", message = ex.Message }, JsonRequestBehavior.AllowGet);
                //return Json("Failed", JsonRequestBehavior.AllowGet);
            }
        }