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 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")); }