public ActionResult ExceptionalOppertunity() { ExceptionOpportunityModel EOModel = new ExceptionOpportunityModel(); ExceptionOpportunityService _service = new ExceptionOpportunityService(); EOModel.Categories = _service.GetAllHomeSchoolCategories(); EOModel.ExceptionOpportunities = objContext.ExceptionOpportunities.Where(x => x.IsDeletedInd == false && x.StatusInd == true && x.ShowOnHomeInd == true).OrderByDescending(x => x.ExOpportunityCreateDate).ToList(); return(View(EOModel)); }
public ActionResult Create(ExceptionOpportunityModel model, string command, FormCollection fm) { try { using (var objContext = new db_KISDEntities()) { var rvd = new RouteValueDictionary(); rvd.Add("page", Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : Models.Common._currentPage.ToString()); rvd.Add("pagesize", Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : Models.Common._pageSize.ToString()); rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "ExOpportunityCreateDate"); rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending"); var file = Request.Files.Count > 0 ? Request.Files[0] : null; if (string.IsNullOrEmpty(command)) { var InnerImagesTitle = Models.Common.GetInnerImages(); ViewBag.InnerImagesTitle = InnerImagesTitle;//get all the inner image titles var IsSave = false; ViewBag.Title = ViewBag.PageTitle = (model.ExOpportunityID == 0 ? "Add " : "Edit ") + "Exceptional Opportunity"; var objExceptionOpp = objContext.ExceptionOpportunities.Where(x => x.ExOpportunityID == model.ExOpportunityID).FirstOrDefault(); if (objExceptionOpp == null) { IsSave = true; objExceptionOpp = new ExceptionOpportunity(); objExceptionOpp.IsDeletedInd = false; } model.StatusInd = fm["IsActiveInd"] == "1" ? true : false; ViewBag.ShowOnHomeInd = GetShowonHomeDataBoolean(model.ShowOnHomeInd ? "True" : "False"); ViewBag.SchoolCategoryID = GetSchoolCategories(model.SchoolCategoryID.ToString()); ViewBag.IsActiveInd = GetStatusData(model.StatusInd == true ? "1" : "0"); Int64 TypeMasterId = Convert.ToInt64(ExceptionOppTypeAlias.ExceptionOpportunity); #region System Change Log DataTable dtOld; var oldResult = (from a in objContext.ExceptionOpportunities where a.ExOpportunityID == model.ExOpportunityID select a).ToList(); dtOld = Models.Common.LINQResultToDataTable(oldResult); #endregion ViewBag.Submit = IsSave ? "Save" : "Update"; if (model != null && !string.IsNullOrEmpty(model.TitleTxt)) { var isexist = objContext.ExceptionOpportunities.Where(x => x.TitleTxt.ToLower().Trim() == model.TitleTxt.ToLower().Trim() && x.SchoolCategoryID == model.SchoolCategoryID && x.ExOpportunityID != model.ExOpportunityID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); if (isexist > 0) { ModelState.AddModelError("TitleTxt", model.TitleTxt + " already exists."); return(View(model)); } } if (model != null && !string.IsNullOrEmpty(model.PageURLTxt)) { var count = 0; if (!model.ExternalLinkInd) { count = objContext.ExceptionOpportunities.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.ExOpportunityID != model.ExOpportunityID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); count += objContext.Contents.Where(x => x.PageURLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); count += objContext.BoardOfMembers.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); count += objContext.Departments.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); count += objContext.GalleryListings.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); count += objContext.NewsEvents.Where(x => x.PageURLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); count += objContext.RightSections.Where(x => x.ExternalLinkURLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count(); } if (model.PageURLTxt.Trim().ToLower() == "error404")// Check for duplicate url and error404 url { count = count + 1; } if (count > 0) { ViewBag.FocusPageUrl = true; // Set focus on Pageurl Field if same url exist // ViewBag.InnerImages = new SelectList(objContext.Images.Where(x => x.ImageTypeID == 2 && x.StatusInd == true).ToList(), "ImageID", "TitleTxt"); if (model.PageURLTxt.ToLower().Trim() == "error404") //if user types url 'error404' below validation msg should display { ModelState.AddModelError("PageURLTxt", model.PageURLTxt + " URL is not allowed."); } else { ModelState.AddModelError("PageURLTxt", model.PageURLTxt + " URL already exists."); } return(View(model)); } } if (!model.StatusInd && model.ShowOnHomeInd) { TempData["Message"] = "Exceptional Opportunity cannot be set to show on home."; return(View(model)); } objExceptionOpp.ExOpportunityID = model.ExOpportunityID; objExceptionOpp.ParentID = (int?)null; objExceptionOpp.ExternalLinkInd = model.ExternalLinkInd; objExceptionOpp.ExternalLinkTargetInd = model.ExternalLinkTargetInd; objExceptionOpp.TitleTxt = model.TitleTxt; objExceptionOpp.URLTxt = objExceptionOpp.ExternalLinkInd == true ? model.URLTxt : model.PageURLTxt; objExceptionOpp.DescriptionTxt = string.IsNullOrEmpty(model.DescriptionTxt) ? string.Empty : model.DescriptionTxt; objExceptionOpp.StatusInd = fm["IsActiveInd"] == "1" ? true : false; objExceptionOpp.SchoolCategoryID = model.SchoolCategoryID; objExceptionOpp.BannerImageID = model.BannerImageID; objExceptionOpp.BannerImageAbstractTxt = model.BannerImageAbstractTxt; objExceptionOpp.AltBannerImageTxt = model.AltBannerImageTxt; objExceptionOpp.IsDeletedInd = false; //objExceptionOpp.SchoolCategoryID = Convert.ToInt64(fm["SchoolCategoryID"]); objExceptionOpp.ShowOnHomeInd = model.ShowOnHomeInd; objExceptionOpp.ExOpportunityCreateDate = Convert.ToDateTime(model.strCreateDate); objExceptionOpp.PageMetaTitleTxt = string.IsNullOrEmpty(model.PageMetaTitleTxt) ? string.Empty : model.PageMetaTitleTxt; objExceptionOpp.PageMetaDescriptionTxt = string.IsNullOrEmpty(model.PageMetaDescriptionTxt) ? string.Empty : model.PageMetaDescriptionTxt; objExceptionOpp.RightSectionAbstractTxt = model.RightSectionAbstractTxt; objExceptionOpp.RightSectionTitleTxt = model.RightSectionTitleTxt; objExceptionOpp.CreateDate = model.ExOpportunityID > 0 ? objExceptionOpp.CreateDate : DateTime.Now;; objExceptionOpp.CreateByID = model.ExOpportunityID > 0 ? objExceptionOpp.CreateByID : Convert.ToInt64(Membership.GetUser().ProviderUserKey); objExceptionOpp.LastModifyByID = Convert.ToInt64(Membership.GetUser().ProviderUserKey); objExceptionOpp.LastModifyDate = DateTime.Now; if (IsSave) { objContext.ExceptionOpportunities.Add(objExceptionOpp); } objContext.SaveChanges(); TempData["AlertMessage"] = model.ExOpportunityID == 0 ? "Exceptional Opportunity details saved successfully." : "Exceptional Opportunity details updated successfully."; #region System Change Log SystemChangeLog objSCL = new SystemChangeLog(); long userid = Convert.ToInt64(Membership.GetUser().ProviderUserKey); User objuser = objContext.Users.Where(x => x.UserID == userid).FirstOrDefault(); objSCL.NameTxt = objuser.FirstNameTxt + " " + objuser.LastNameTxt; objSCL.UsernameTxt = objuser.UserNameTxt; objSCL.UserRoleID = (short)objContext.UserRoles.Where(x => x.UserID == objuser.UserID).First().RoleID; objSCL.ModuleTxt = "Exceptional Opportunity"; objSCL.LogTypeTxt = model.ExOpportunityID > 0 ? "Update" : "Add"; objSCL.NotesTxt = "Exceptional Opportunity Details" + (model.ExOpportunityID > 0 ? " updated for " : " added for ") + model.TitleTxt; objSCL.LogDateTime = DateTime.Now; objContext.SystemChangeLogs.Add(objSCL); objContext.SaveChanges(); objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault(); var newResult = (from x in objContext.ExceptionOpportunities where x.ExOpportunityID == objExceptionOpp.ExOpportunityID select x); DataTable dtNew = Models.Common.LINQResultToDataTable(newResult); foreach (DataColumn col in dtNew.Columns) { if (model.ExOpportunityID > 0) { // if(objSCL) if (dtOld.Rows[0][col.ColumnName].ToString() != dtNew.Rows[0][col.ColumnName].ToString()) { SystemChangeLogDetail objSCLD = new SystemChangeLogDetail(); objSCLD.ChangeLogID = objSCL.ChangeLogID; objSCLD.FieldNameTxt = col.ColumnName.ToString(); objSCLD.OldValueTxt = dtOld.Rows[0][col.ColumnName].ToString(); objSCLD.NewValueTxt = dtNew.Rows[0][col.ColumnName].ToString(); objContext.SystemChangeLogDetails.Add(objSCLD); objContext.SaveChanges(); } } else { SystemChangeLogDetail objSCLD = new SystemChangeLogDetail(); objSCLD.ChangeLogID = objSCL.ChangeLogID; objSCLD.FieldNameTxt = col.ColumnName.ToString(); objSCLD.OldValueTxt = ""; objSCLD.NewValueTxt = dtNew.Rows[0][col.ColumnName].ToString(); objContext.SystemChangeLogDetails.Add(objSCLD); objContext.SaveChanges(); } } #endregion return(RedirectToAction("Index", "ExceptionOpportunity", rvd)); } else { return(RedirectToAction("Index", "ExceptionOpportunity", rvd)); } } } catch (Exception ex) { TempData["AlertMessage"] = " Some error occured. Please try again later."; return(RedirectToAction("Index", "Home")); } }
public ActionResult Create(string iid) { #region Check Tab is Accessible or Not db_KISDEntities objContext = new db_KISDEntities(); var userId = objContext.Users.Where(x => x.UserNameTxt == User.Identity.Name).Select(x => x.UserID).FirstOrDefault(); var RoleID = objContext.UserRoles.Where(x => x.UserID == userId).Select(x => x.RoleID).FirstOrDefault(); var HasTabAccess = GetAccessibleTabAccess(Convert.ToInt32(ModuleType.NewToKISD), Convert.ToInt32(userId)); if (!(HasTabAccess || RoleID == Convert.ToInt32(UserType.SuperAdmin) || RoleID == Convert.ToInt32(UserType.Admin))) //if tab not accessible then redirect to home { return(RedirectToAction("Index", "Home")); } #endregion var objExceptionOppModel = new ExceptionOpportunityModel(); //decrypt ExceptionOpportunity id(iid) iid = !string.IsNullOrEmpty(Convert.ToString(iid)) ? EncryptDecrypt.Decrypt(iid) : "0"; Int64 ExOpportunityID = Convert.ToInt64(iid); if (ExOpportunityID > 0 && objContext.ExceptionOpportunities.Where(x => x.ExOpportunityID == ExOpportunityID && x.IsDeletedInd == true).Any()) { return(RedirectToAction("Index", "Home")); } Session["Edit/Delete"] = "Edit"; ViewBag.Title = ViewBag.PageTitle = (iid == "0" ? "Add " : "Edit ") + "Exceptional Opportunity"; ViewBag.Submit = (iid == "0" ? "Save" : "Update"); ViewBag.ExceptionOpportunityTypeTitle = "Exceptional Opportunities"; objExceptionOppModel.strCreateDate = DateTime.Now.ToShortDateString(); Int64 TypeMasterId = Convert.ToInt64(ExceptionOppTypeAlias.ExceptionOpportunity); TempData["CroppedImage"] = null; using (objContext = new db_KISDEntities()) { var objExceptionOpp = objContext.ExceptionOpportunities.Where(x => x.ExOpportunityID == ExOpportunityID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).FirstOrDefault(); if (objExceptionOpp != null) { objExceptionOppModel.ExOpportunityID = objExceptionOpp.ExOpportunityID; objExceptionOppModel.ExternalLinkInd = objExceptionOpp.ExternalLinkInd.Value; objExceptionOppModel.ExternalLinkTargetInd = objExceptionOpp.ExternalLinkTargetInd; objExceptionOppModel.TitleTxt = objExceptionOpp.TitleTxt; if (objExceptionOpp.ExternalLinkInd == true) { objExceptionOppModel.URLTxt = objExceptionOpp.URLTxt; } else { objExceptionOppModel.PageURLTxt = objExceptionOpp.URLTxt; } objExceptionOppModel.BannerImageID = objExceptionOpp.BannerImageID; objExceptionOppModel.AltBannerImageTxt = objExceptionOpp.AltBannerImageTxt; objExceptionOppModel.BannerImageAbstractTxt = objExceptionOpp.BannerImageAbstractTxt; objExceptionOppModel.DescriptionTxt = objExceptionOpp.DescriptionTxt; objExceptionOppModel.StatusInd = objExceptionOpp.StatusInd.Value; objExceptionOppModel.ShowOnHomeInd = objExceptionOpp.ShowOnHomeInd.Value; objExceptionOppModel.PageMetaTitleTxt = objExceptionOpp.PageMetaTitleTxt; objExceptionOppModel.RightSectionTitleTxt = objExceptionOpp.RightSectionTitleTxt; objExceptionOppModel.RightSectionAbstractTxt = objExceptionOpp.RightSectionAbstractTxt; objExceptionOppModel.PageMetaDescriptionTxt = objExceptionOpp.PageMetaDescriptionTxt; objExceptionOppModel.CreateByID = objExceptionOpp.CreateByID; objExceptionOppModel.CreateDate = objExceptionOpp.CreateDate; objExceptionOppModel.LastModifyByID = objExceptionOpp.LastModifyByID; objExceptionOppModel.LastModifyDate = objExceptionOpp.LastModifyDate; objExceptionOppModel.strCreateDate = objExceptionOpp.ExOpportunityCreateDate.HasValue ? objExceptionOpp.ExOpportunityCreateDate.Value.ToShortDateString() : DateTime.Now.ToShortDateString(); ViewBag.IsActiveInd = GetStatusData(objExceptionOppModel.StatusInd == true ? "1" : "0"); ViewBag.SchoolCategoryID = GetSchoolCategories(objExceptionOpp.SchoolCategoryID.ToString()); ViewBag.ShowOnHomeInd = GetShowonHomeDataBoolean(objExceptionOppModel.ShowOnHomeInd ? "True" : "False"); ViewBag.Submit = "Update"; } else { ViewBag.Submit = "Save"; objExceptionOppModel.strCreateDate = DateTime.Now.ToShortDateString(); ViewBag.IsActiveInd = GetStatusData(string.Empty); ViewBag.SchoolCategoryID = GetSchoolCategories(""); ViewBag.ShowOnHomeInd = GetShowonHomeDataBoolean(string.Empty); } var InnerImagesTitle = Models.Common.GetInnerImages(); ViewBag.InnerImagesTitle = InnerImagesTitle;//get all the inner image titles ViewBag.Title = "Exceptional Opportunities"; return(View(objExceptionOppModel)); } }