public ActionResult Index() { if ((Session["UserId"] == null) || (Session["UserId"].ToString() == String.Empty)) { return(RedirectToAction("Login", "Login", null)); } ViewBag.UserName = Session["Username"]; ViewBag.roleid = Session["RoleID"]; String Username = Session["Username"].ToString(); ViewData["Level1"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 1 && m.MessageType != "PM"), "LossCodeID", "LossCodeDesc"); /*&& m.MessageType != "BREAKDOWN"*/ ViewData["Level2"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 29 && m.MessageType != "PM"), "LossCodeID", "LossCodeDesc"); ViewData["Level3"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 9 && m.MessageType != "PM"), "LossCodeID", "LossCodeDesc"); ProductionLossModel pa = new ProductionLossModel(); tbllossescode pe = new tbllossescode(); pa.ProductionLoss = pe; pa.ProductionLossList = db.tbllossescodes.Where(m => m.IsDeleted == 0).ToList();//Dont take Any Loss to view, as we will display data based on Department and Category. var query = db.tbllossescodes.Where(M => M.IsDeleted == 0).ToList(); pa.ProductionLossList = query.ToList(); return(View(pa)); }
public ActionResult Create(ProductionLossModel objLossCode, int Level1 = 0, int Level2 = 0) { if ((Session["UserId"] == null) || (Session["UserId"].ToString() == String.Empty)) { return(RedirectToAction("Login", "Login", null)); } int UserID = Convert.ToInt32(Session["UserId"]); ViewBag.Logout = Session["Username"].ToString().ToUpper(); ViewBag.roleid = Session["RoleID"]; objLossCode.ProductionLoss.CreatedBy = UserID; objLossCode.ProductionLoss.CreatedOn = DateTime.Now; objLossCode.ProductionLoss.IsDeleted = 0; //objLossCode.ProductionLoss.ServerTabCheck = 1; //objLossCode.ProductionLoss.ServerTabFlagSync = 0; //Check duplicate entry var losscodelevel = objLossCode.ProductionLoss.LossCodesLevel; var losscode = objLossCode.ProductionLoss.LossCode; if (losscodelevel == 1) { var DuplicateEntry = db.tbllossescodes.Where(m => m.LossCode == losscode && m.IsDeleted == 0).ToList(); if (DuplicateEntry != null) { db.tbllossescodes.Add(objLossCode.ProductionLoss); db.SaveChanges(); RedirectToAction("Index"); } else { Session["Error"] = "Losscode already exists"; } } else if (losscodelevel == 2) { objLossCode.ProductionLoss.LossCodesLevel1ID = Level1; var duplosscode = db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCode == objLossCode.ProductionLoss.LossCode && m.LossCodesLevel1ID == objLossCode.ProductionLoss.LossCodesLevel1ID).ToList(); if (duplosscode.Count == 0) { //Here check if Level1 code is used in tbllossofentry, if so then create new copy of it with Different LossID. var lossOfEntryData = db.tbllossofentries.Where(m => m.MessageCodeID == Level1).ToList(); if (lossOfEntryData.Count > 0) { var lossPrvData = db.tbllossescodes.Where(m => m.LossCodeID == Level1 && m.IsDeleted == 0).FirstOrDefault(); tbllossescode tlcNewPrvLevel = new tbllossescode(); tlcNewPrvLevel.ContributeTo = lossPrvData.ContributeTo; tlcNewPrvLevel.CreatedBy = lossPrvData.CreatedBy; tlcNewPrvLevel.CreatedOn = lossPrvData.CreatedOn; tlcNewPrvLevel.IsDeleted = 0; tlcNewPrvLevel.LossCode = lossPrvData.LossCode; tlcNewPrvLevel.LossCodeDesc = lossPrvData.LossCodeDesc; tlcNewPrvLevel.LossCodesLevel = lossPrvData.LossCodesLevel; tlcNewPrvLevel.LossCodesLevel1ID = lossPrvData.LossCodesLevel1ID; tlcNewPrvLevel.LossCodesLevel2ID = lossPrvData.LossCodesLevel2ID; tlcNewPrvLevel.MessageType = lossPrvData.MessageType; tlcNewPrvLevel.ModifiedBy = lossPrvData.ModifiedBy; tlcNewPrvLevel.ModifiedOn = lossPrvData.ModifiedOn; //tlcNewPrvLevel.ServerTabCheck = 1; //tlcNewPrvLevel.ServerTabFlagSync = 0; db.tbllossescodes.Add(tlcNewPrvLevel); db.SaveChanges(); //Delete the Old one. lossPrvData.IsDeleted = 1; lossPrvData.ModifiedOn = DateTime.Now; lossPrvData.ModifiedBy = UserID; db.Entry(lossPrvData).State = EntityState.Modified; db.SaveChanges(); //Give new Level1 LossCodeID to 2nd level code. int Level1LossCodeID = tlcNewPrvLevel.LossCodeID; objLossCode.ProductionLoss.LossCodesLevel1ID = Level1LossCodeID; } db.tbllossescodes.Add(objLossCode.ProductionLoss); db.SaveChanges(); return(RedirectToAction("Index")); } else { Session["Error"] = "Loss code already Exist."; return(View(objLossCode)); } } else if (losscodelevel == 3) { objLossCode.ProductionLoss.LossCodesLevel1ID = Level1; objLossCode.ProductionLoss.LossCodesLevel2ID = Level2; var duplosscode = db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCode == objLossCode.ProductionLoss.LossCode && m.LossCodesLevel1ID == objLossCode.ProductionLoss.LossCodesLevel1ID && m.LossCodesLevel2ID == objLossCode.ProductionLoss.LossCodesLevel2ID).ToList(); if (duplosscode.Count == 0) { //Here check if Level1 code is used in tbllossofentry, if so then create new copy of it with Different LossID. var lossOfEntryData = db.tbllossofentries.Where(m => m.MessageCodeID == Level2).ToList(); if (lossOfEntryData.Count > 0) { var lossPrvData = db.tbllossescodes.Where(m => m.LossCodeID == Level2 && m.IsDeleted == 0).FirstOrDefault(); tbllossescode tlcNewPrvLevel = new tbllossescode(); tlcNewPrvLevel.ContributeTo = lossPrvData.ContributeTo; tlcNewPrvLevel.CreatedBy = lossPrvData.CreatedBy; tlcNewPrvLevel.CreatedOn = lossPrvData.CreatedOn; tlcNewPrvLevel.IsDeleted = 0; tlcNewPrvLevel.LossCode = lossPrvData.LossCode; tlcNewPrvLevel.LossCodeDesc = lossPrvData.LossCodeDesc; tlcNewPrvLevel.LossCodesLevel = lossPrvData.LossCodesLevel; tlcNewPrvLevel.LossCodesLevel1ID = lossPrvData.LossCodesLevel1ID; tlcNewPrvLevel.LossCodesLevel2ID = lossPrvData.LossCodesLevel2ID; tlcNewPrvLevel.MessageType = lossPrvData.MessageType; tlcNewPrvLevel.ModifiedBy = lossPrvData.ModifiedBy; tlcNewPrvLevel.ModifiedOn = lossPrvData.ModifiedOn; //tlcNewPrvLevel.ServerTabCheck = 1; //tlcNewPrvLevel.ServerTabFlagSync = 0; db.tbllossescodes.Add(tlcNewPrvLevel); db.SaveChanges(); //Delete the Old one. lossPrvData.IsDeleted = 1; lossPrvData.ModifiedOn = DateTime.Now; lossPrvData.ModifiedBy = UserID; db.Entry(lossPrvData).State = EntityState.Modified; db.SaveChanges(); //Give new Level1 LossCodeID to 2nd level code. int Level2LossCodeID = tlcNewPrvLevel.LossCodeID; objLossCode.ProductionLoss.LossCodesLevel2ID = Level2LossCodeID; } db.tbllossescodes.Add(objLossCode.ProductionLoss); db.SaveChanges(); return(RedirectToAction("Index")); } else { Session["Error"] = "Loss code already Exist."; return(View(objLossCode)); } } return(RedirectToAction("Index")); }
public ActionResult Edit(ProductionLossModel tlc, int Id = 0, int Level1 = 0, int Level2 = 0) { if ((Session["UserId"] == null) || (Session["UserId"].ToString() == String.Empty)) { return(RedirectToAction("Login", "Login", null)); } int UserID = Convert.ToInt32(Session["UserId"]); ViewBag.Logout = Session["Username"].ToString().ToUpper(); ViewBag.roleid = Session["RoleID"]; if (Level1 == 0 && Level2 == 0) { tlc.ProductionLoss.LossCodesLevel = 1; } else if (Level1 != 0 && Level2 == 0) { tlc.ProductionLoss.LossCodesLevel = 2; tlc.ProductionLoss.LossCodesLevel1ID = Level1; } else if (Level1 != 0 && Level2 != 0) { tlc.ProductionLoss.LossCodesLevel = 3; tlc.ProductionLoss.LossCodesLevel1ID = Level1; tlc.ProductionLoss.LossCodesLevel2ID = Level2; } tlc.ProductionLoss.ModifiedBy = UserID; tlc.ProductionLoss.ModifiedOn = DateTime.Now; //tlc.ProductionLoss.ServerTabFlagSync = 1; //tlc.ProductionLoss.ServerTabCheck = 2; if (Convert.ToInt16(tlc.ProductionLoss.LossCodesLevel) == 1) { var duplosscode = db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCode == tlc.ProductionLoss.LossCode && m.LossCodeID != tlc.ProductionLoss.LossCodeID).ToList(); if (duplosscode.Count == 0) { db.Entry(tlc.ProductionLoss).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } else { Session["Error"] = "Loss code already Exist."; ViewData["Level1"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 1 && m.LossCode != "999" && m.MessageType != "PM" && m.MessageType != "BREAKDOWN"), "LossCodeID", "LossCodeDesc", tlc.ProductionLoss.LossCodesLevel1ID); ViewData["Level2"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 2 && m.MessageType != "PM" && m.MessageType != "BREAKDOWN"), "LossCodeID", "LossCodeDesc", tlc.ProductionLoss.LossCodesLevel2ID); ViewBag.radioselected = tlc.ProductionLoss.LossCodesLevel; return(View(tlc)); } } if (Convert.ToInt16(tlc.ProductionLoss.LossCodesLevel) == 2) { tlc.ProductionLoss.LossCodesLevel1ID = Level1; var duplosscode = db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCode == tlc.ProductionLoss.LossCode && m.LossCodeID != tlc.ProductionLoss.LossCodeID && m.LossCodesLevel1ID == tlc.ProductionLoss.LossCodesLevel1ID).ToList(); if (duplosscode.Count == 0) { db.Entry(tlc.ProductionLoss).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } else { Session["Error"] = "Loss code already Exist."; ViewData["Level1"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 1 && m.LossCode != "999" && m.MessageType != "PM" && m.MessageType != "BREAKDOWN"), "LossCodeID", "LossCodeDesc", tlc.ProductionLoss.LossCodesLevel1ID); ViewData["Level2"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 2 && m.MessageType != "PM" && m.MessageType != "BREAKDOWN"), "LossCodeID", "LossCodeDesc", tlc.ProductionLoss.LossCodesLevel2ID); ViewBag.radioselected = tlc.ProductionLoss.LossCodesLevel; return(View(tlc)); } } if (Convert.ToInt16(tlc.ProductionLoss.LossCodesLevel) == 3) { tlc.ProductionLoss.LossCodesLevel1ID = Level1; tlc.ProductionLoss.LossCodesLevel2ID = Level2; var duplosscode = db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCode == tlc.ProductionLoss.LossCode && m.LossCodeID != tlc.ProductionLoss.LossCodeID && m.LossCodesLevel1ID == tlc.ProductionLoss.LossCodesLevel1ID && m.LossCodesLevel2ID == tlc.ProductionLoss.LossCodesLevel2ID).ToList(); if (duplosscode.Count == 0) { db.Entry(tlc.ProductionLoss).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } else { Session["Error"] = "Loss code already Exist."; ViewData["Level1"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 1 && m.LossCode != "999" && m.MessageType != "PM" && m.MessageType != "BREAKDOWN"), "LossCodeID", "LossCodeDesc", tlc.ProductionLoss.LossCodesLevel1ID); ViewData["Level2"] = new SelectList(db.tbllossescodes.Where(m => m.IsDeleted == 0 && m.LossCodesLevel == 2 && m.MessageType != "PM" && m.MessageType != "BREAKDOWN"), "LossCodeID", "LossCodeDesc", tlc.ProductionLoss.LossCodesLevel2ID); ViewBag.radioselected = tlc.ProductionLoss.LossCodesLevel; return(View(tlc)); } } return(RedirectToAction("Index")); }