示例#1
0
        public JsonResult Delete(string iid, FormCollection fm)
        {
            //decrypt ExceptionOpportunity id(iid)
            iid = !string.IsNullOrEmpty(Convert.ToString(iid)) ? EncryptDecrypt.Decrypt(iid) : "0";

            //.. Code for get the route value directory
            RouteValueDictionary rvd = new RouteValueDictionary();

            ViewBag.Title = "Exceptional Opportunity";
            var page     = Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : Models.Common._currentPage.ToString();
            var pagesize = Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : Models.Common._pageSize.ToString();

            rvd.Add("pagesize", pagesize);
            rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "ExOpportunityCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
            TempData["pager"]      = pagesize;
            Session["Edit/Delete"] = "Delete";
            try
            {
                // TODO: Add delete logic here
                //.. Check for Exceptional Opportunity  in use
                ExceptionOpportunity objExOpportunity = objContext.ExceptionOpportunities.Find(Convert.ToInt32(iid));
                int OpportunityID = Convert.ToInt32(iid);
                #region System Change Log
                var oldresult = (from a in objContext.ExceptionOpportunities
                                 where a.ExOpportunityID == OpportunityID
                                 select a).ToList();
                DataTable dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                if (objExOpportunity != null)
                {
                    // objExOpportunity.IsDeletedInd = true;

                    //****************Display Order ************************

                    try
                    {
                        var objExOpportunityService = new ExceptionOpportunityService();
                        objExOpportunityService.ChangeDeletedDisplayOrder(objExOpportunity.DisplayOrderNbr.Value, objExOpportunity.ExOpportunityID);
                    }
                    catch { }

                    //***************************************************
                    // objContext.SaveChanges();
                    #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  = "Delete";
                    objSCL.NotesTxt    = " Details deleted for " + objExOpportunity.TitleTxt;
                    objSCL.LogDateTime = DateTime.Now;
                    objContext.SystemChangeLogs.Add(objSCL);
                    objContext.SaveChanges();
                    objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                    var objContextnew = new db_KISDEntities();
                    var newResult     = (from x in objContextnew.ExceptionOpportunities
                                         where x.ExOpportunityID == OpportunityID
                                         select x);
                    DataTable dtNew = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(newResult);
                    foreach (DataColumn col in dtNew.Columns)
                    {
                        SystemChangeLogDetail objSCLD = new SystemChangeLogDetail();
                        objSCLD.ChangeLogID  = objSCL.ChangeLogID;
                        objSCLD.FieldNameTxt = col.ColumnName.ToString();
                        objSCLD.OldValueTxt  = dtOld.Rows[0][col.ColumnName].ToString();
                        objSCLD.NewValueTxt  = col.ColumnName == "IsDeletedInd" ? dtNew.Rows[0][col.ColumnName].ToString() : "";
                        objContext.SystemChangeLogDetails.Add(objSCLD);
                        objContext.SaveChanges();
                    }
                    #endregion
                    TempData["AlertMessage"] = "Exceptional Opportunity details deleted successfully.";
                }
                //.. Checks for no of records in current page if exists records then return same page number else decrease the page number
                int?CheckPage = 1;
                var count     = objContext.ExceptionOpportunities.Where(x => x.IsDeletedInd == false).Count();
                if (Convert.ToInt32(page) > 1)
                {
                    CheckPage = count > ((Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize)) ? Convert.ToInt32(page) : (Convert.ToInt32(page)) - 1;
                }
                rvd.Add("page", CheckPage);
                return(Json(Url.Action("Index", "ExceptionOpportunity", rvd)));
            }
            catch
            {
                rvd.Add("page", page);
                return(Json(Url.Action("Index", "ExceptionOpportunity", rvd)));
            }
        }
示例#2
0
        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"));
            }
        }