Пример #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));
            }
        }
Пример #2
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"));
        }