示例#1
0
        public ActionResult Create(BoardMembersModel model, string command, FormCollection fm)
        {
            var currentLoggedUserId = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
            var CurrentUserRoleID   = objContext.UserRoles.Where(x => x.UserID == currentLoggedUserId).FirstOrDefault().RoleID;

            ViewBag.LiTitle = "Board Member Listing";
            var EncryptBMID = EncryptDecrypt.Encrypt(model.BoardMemberID.ToString());

            var rvd = new RouteValueDictionary();

            rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "CreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
            rvd.Add("pagesize", Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : Models.Common._pageSize.ToString());
            rvd.Add("page", Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : Models.Common._currentPage.ToString());
            ViewBag.Title = ViewBag.PageTitle = (model.BoardMemberID > 0 ? "Edit " : "Add ") + " Board Member Details ";

            ViewBag.Submit         = model.BoardMemberID > 0 ? "Update" : "Save";
            ViewBag.CreateDate     = DateTime.Now.ToShortDateString();
            ViewBag.UserCreateDate = DateTime.Now.ToShortDateString();
            //model.RightSections = GetAllRightSections();

            #region System Change Log
            DataTable dtOld;
            var       oldresult = (from a in objContext.BoardOfMembers
                                   where a.BoardMemberID == model.BoardMemberID
                                   select a).ToList();
            dtOld = Models.Common.LINQResultToDataTable(oldresult);
            #endregion

            var objDBContent = new db_KISDEntities();
            var objctBM      = new BoardOfMember();
            ViewBag.IsActiveInd   = Models.Common.GetStatusListBoolean(!string.IsNullOrEmpty(fm["IsActiveInd"]) ? Convert.ToString(fm["IsActiveInd"]) : "0");
            ViewBag.BoardMemberID = model.BoardMemberID;
            ViewBag.isValid       = "1";
            //ViewBag.RolesList = GetAllUserType(currentLoggedUserId);

            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
                if (model.BoardMemberID > 0)
                {
                    objctBM = objDBContent.BoardOfMembers.Where(x => x.BoardMemberID == model.BoardMemberID).FirstOrDefault();
                }
                else
                {
                    objctBM = new BoardOfMember();
                }

                var count = objDBContent.BoardOfMembers.Where(x => x.URLTxt.ToLower().Trim() == model.URLTxt.ToLower().Trim() && x.BoardMemberID != model.BoardMemberID && x.IsDeletedInd == false).Count();
                count += objContext.Contents.Where(x => x.PageURLTxt.ToLower().Trim() == model.URLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                count += objContext.Departments.Where(x => x.URLTxt.ToLower().Trim() == model.URLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                count += objContext.ExceptionOpportunities.Where(x => x.URLTxt.ToLower().Trim() == model.URLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                count += objContext.GalleryListings.Where(x => x.URLTxt.ToLower().Trim() == model.URLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                count += objContext.NewsEvents.Where(x => x.PageURLTxt.ToLower().Trim() == model.URLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                if (model.URLTxt.Trim().ToLower() == "error404")// Check for duplicate url and error404 url
                {
                    count = count + 1;
                }
                if (count > 0)
                {
                    if (model.URLTxt.ToLower().Trim() == "error404")//if user types url 'error404' below validation msg should display
                    {
                        ModelState.AddModelError("URLTxt", model.URLTxt + " URL is not allowed.");
                    }
                    else
                    {
                        ModelState.AddModelError("URLTxt", model.URLTxt + " URL already exists.");
                    }
                    ViewBag.isValid = "0";
                    return(View(model));
                }

                if (file != null && file.ContentLength > 0)
                {
                    #region Cropped Image
                    var croppedfile = new FileInfo(Server.MapPath(TempData["CroppedImage"].ToString()));
                    var fileName    = croppedfile.Name;
                    croppedfile = null;
                    var sourcePath = Server.MapPath(TempData["CroppedImage"].ToString());
                    var targetPath = Request.PhysicalApplicationPath + "WebData\\";
                    System.IO.File.Copy(Path.Combine(sourcePath.Replace(fileName, ""), fileName), Path.Combine(targetPath + "images\\", fileName), true);
                    try
                    {
                        Models.Common.DeleteImage(Server.MapPath(TempData["CroppedImage"].ToString()));
                    }
                    catch
                    {
                    }
                    objctBM.ImageURLTxt = "~/WebData/images/" + fileName;
                    var fileExtension = fileName.Substring(fileName.LastIndexOf("."), fileName.Length - fileName.LastIndexOf("."));
                    var strPath       = Request.PhysicalApplicationPath + "WebData\\images\\" + fileName;
                    var myImage       = CreateImageThumbnail(strPath, 100);
                    myImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails_Small\\" + fileName,
                                 fileExtension.ToLower() == ".png" ?
                                 System.Drawing.Imaging.ImageFormat.Png :
                                 fileExtension.ToLower() == ".gif" ?
                                 System.Drawing.Imaging.ImageFormat.Gif :
                                 System.Drawing.Imaging.ImageFormat.Jpeg
                                 );
                    myImage.Dispose();

                    var myLargeImage = CreateImageThumbnail(strPath, 400);
                    myLargeImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails\\" + fileName,
                                      fileExtension.ToLower() == ".png" ?
                                      System.Drawing.Imaging.ImageFormat.Png :
                                      fileExtension.ToLower() == ".gif" ?
                                      System.Drawing.Imaging.ImageFormat.Gif :
                                      System.Drawing.Imaging.ImageFormat.Jpeg
                                      );
                    myLargeImage.Dispose();
                    TempData["CroppedImage"] = null;
                    #endregion
                }

                objctBM.BOMCreateDate           = Convert.ToDateTime(model.strBOMCreateDate + " " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second);
                objctBM.ContactInfoTxt          = model.ContactInfoTxt;
                objctBM.CreateDate              = DateTime.Now;
                objctBM.DescriptionTxt          = model.DescriptionTxt;
                objctBM.DisplayOrderNbr         = model.DisplayOrderNbr;
                objctBM.NameTxt                 = model.NameTxt;
                objctBM.PageMetaDescriptionTxt  = model.PageMetaDescriptionTxt;
                objctBM.PageMetaTitleTxt        = model.PageMetaTitleTxt;
                objctBM.RightSectionAbstractTxt = model.RightSectionAbstractTxt;
                objctBM.RightSectionTitleTxt    = model.PageMetaTitleTxt;
                objctBM.BannerImageID           = model.BannerImageID;
                objctBM.BannerImageAbstractTxt  = model.BannerImageAbstractTxt;
                objctBM.AltBannerImageTxt       = model.AltBannerImageTxt;
                objctBM.TermTxt                 = model.TermTxt;
                objctBM.TitleTxt                = model.TitleTxt;
                objctBM.URLTxt         = model.URLTxt;
                objctBM.StatusInd      = Convert.ToBoolean(fm["IsActiveInd"]);
                objctBM.IsDeletedInd   = false;
                objctBM.CreateDate     = model.BoardMemberID > 0 ? objctBM.CreateDate : model.BOMCreateDate;
                objctBM.CreateByID     = model.BoardMemberID > 0 ? objctBM.CreateByID : Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                objctBM.LastModifyByID = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                objctBM.LastModifyDate = DateTime.Now;

                try
                {
                    if (model.BoardMemberID == 0)
                    {
                        objDBContent.BoardOfMembers.Add(objctBM);
                    }
                    objDBContent.SaveChanges();
                    var newID = objctBM.BoardMemberID;

                    #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   = "Board Members";
                    objSCL.LogTypeTxt  = model.BoardMemberID > 0 ? "Update" : "Add";
                    objSCL.NotesTxt    = "Board Member Details" + (model.BoardMemberID > 0 ? " updated for " : "  added for ") + objctBM.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.BoardOfMembers
                                     where x.BoardMemberID == newID
                                     select x);
                    DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                    foreach (DataColumn col in dtNew.Columns)
                    {
                        if (model.BoardMemberID > 0)
                        {
                            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

                    TempData["Message"] = "Board Member details " + ((model.BoardMemberID == 0) ? "saved" : "updated") + " successfully.";
                }
                catch (Exception ex)
                {
                    TempData["Message"] = "Some error occured. Please try after some time.";
                }
            }
            return(RedirectToAction("Index", "BoardMembers", rvd));
        }
示例#2
0
        public ActionResult Index(int?Page, int?PageSize, GridSortOptions gridSortOptions, FormCollection formCollection, string ObjResult)
        {
            var objContext          = new db_KISDEntities();
            var currentLoggedUserId = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
            var CurrentUserRoleID   = objContext.UserRoles.Where(x => x.UserID == currentLoggedUserId).FirstOrDefault().RoleID;

            #region Check Tab is Accessible or Not
            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.SchoolBoard), 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

            ViewBag.Title = ViewBag.PageTitle = "Board Members Listing";

            //*******************Fill Values if Display order contains null values***************************
            var displayOrderList = objContext.BoardOfMembers.Where(x => x.IsDeletedInd == false).ToList();
            foreach (var item in displayOrderList)
            {
                if (string.IsNullOrEmpty(item.DisplayOrderNbr.ToString()))
                {
                    var objContentData = objContext.BoardOfMembers.Where(x => x.BoardMemberID == item.BoardMemberID && x.IsDeletedInd == false).FirstOrDefault();
                    var displayOrder1  = (displayOrderList.Max(x => x.DisplayOrderNbr)) == null ? 1 : displayOrderList.Max(x => x.DisplayOrderNbr).Value + 1;
                    objContentData.DisplayOrderNbr = displayOrder1;
                    objContext.SaveChanges();
                }
            }
            //***********************************************************

            #region Ajax Call
            if (ObjResult != null)
            {
                AjaxRequest objAjaxRequest = JsonConvert.DeserializeObject <AjaxRequest>(ObjResult);//Convert json String to object Model
                if (objAjaxRequest.ajaxcall != null && !string.IsNullOrEmpty(objAjaxRequest.ajaxcall) && ObjResult != null && !string.IsNullOrEmpty(ObjResult))
                {
                    if (objAjaxRequest.ajaxcall == "paging")       //Ajax Call type = paging i.e. Next|Previous|Back|Last
                    {
                        Session["pageNo"] = Page;                  // stores the page no for status
                    }
                    else if (objAjaxRequest.ajaxcall == "sorting") //Ajax Call type = sorting i.e. column sorting Asc or Desc
                    {
                        Page = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        Session["GridSortOption"] = gridSortOptions;
                        PageSize = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"].ToString()) : PageSize);
                    }
                    else if (objAjaxRequest.ajaxcall == "ddlPaging")//Ajax Call type = drop down paging i.e. drop down value 10, 25, 50, 100, ALL
                    {
                        Session["PageSize"]       = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : PageSize);
                        Session["GridSortOption"] = gridSortOptions;
                        Session["pageNo"]         = Page;
                    }
                    else if (objAjaxRequest.ajaxcall == "status")//Ajax Call type = status i.e. Active/Inactive
                    {
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }

                    objAjaxRequest.ajaxcall = null;; //remove parameter value
                }

                //Ajax Call for update status for images
                if (objAjaxRequest.hfid != null && objAjaxRequest.hfvalue != null && !string.IsNullOrEmpty(objAjaxRequest.hfid) && !string.IsNullOrEmpty(objAjaxRequest.hfvalue) && ObjResult != null && !string.IsNullOrEmpty(ObjResult))
                {
                    var ListingID = Convert.ToInt64(objAjaxRequest.hfid);
                    var Listing   = objContext.BoardOfMembers.Find(ListingID);
                    if (Listing != null)
                    {
                        #region System Change Log
                        var oldresult = (from a in objContext.BoardOfMembers
                                         where a.BoardMemberID == ListingID
                                         select a).ToList();

                        DataTable dtOld = Models.Common.LINQResultToDataTable(oldresult);
                        #endregion

                        if (objAjaxRequest.qs_Type == "status")
                        {
                            Listing.StatusInd   = objAjaxRequest.hfvalue == "1";
                            TempData["Message"] = "Status updated successfully.";
                        }
                        else if (objAjaxRequest.qs_Type == "displayorder")
                        {
                            try
                            {
                                if (BoardMembersModelService.ChangeDisplayOrder(Convert.ToInt64(Listing.DisplayOrderNbr), Convert.ToInt64(objAjaxRequest.qs_value)))
                                {
                                    TempData["Message"] = "Display Order has been changed successfully.";
                                }
                            }
                            catch
                            {
                                TempData["Message"] = "Some Error Occured while changing Display Order, Please try again later.";
                            }
                        }
                        objContext.SaveChanges();

                        #region System Change Log
                        SystemChangeLog objSCL  = new SystemChangeLog();
                        User            objuser = objContext.Users.Where(x => x.UserID == currentLoggedUserId).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   = "Board Member Listing";
                        objSCL.LogTypeTxt  = "Update";
                        objSCL.NotesTxt    = (objAjaxRequest.qs_Type == "status" ? "Status " : "Display order ") + "updated for " + Listing.NameTxt;
                        objSCL.LogDateTime = DateTime.Now;
                        objContext.SystemChangeLogs.Add(objSCL);
                        objContext.SaveChanges();

                        objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                        var newResult = (from x in objContext.BoardOfMembers
                                         where x.BoardMemberID == Listing.BoardMemberID
                                         select x);

                        DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                        foreach (DataColumn col in dtNew.Columns)
                        {
                            // 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();
                            }
                        }
                        #endregion

                        objAjaxRequest.hfid    = null; //remove parameter value
                        objAjaxRequest.hfvalue = null; //remove parameter value

                        PageSize        = ((Request.QueryString["pagesize"] != null && Request.QueryString["pagesize"].ToString() != "All") ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : PageSize);
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                }
                else
                {
                    TempData["Message"] = string.Empty;
                }
                ObjResult = string.Empty;
            }
            #endregion Ajax Call

            //This section is used to retain the values of page , pagesize and gridsortoption on complete page post back(Edit, Dlete)
            if (!Request.IsAjaxRequest() && Session["Edit/Delete"] != null && !string.IsNullOrEmpty(Session["Edit/Delete"].ToString()))
            {
                PageSize               = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"]) : Models.Common._pageSize);
                Page                   = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"]) : Models.Common._currentPage);
                gridSortOptions        = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                Session["Edit/Delete"] = null;
            }
            else if (!Request.IsAjaxRequest() && Session["Edit/Delete"] == null)
            {
                gridSortOptions.Column    = "BOMCreateDate";
                Session["PageSize"]       = null;
                Session["pageNo"]         = null;
                Session["GridSortOption"] = null;
            }
            if (gridSortOptions.Column == "NameTxt" || gridSortOptions.Column == "TitleTxt" ||
                gridSortOptions.Column == "DisplayOrderNbr" || gridSortOptions.Column == "TitleTxt"
                )
            {
            }
            else
            {
                gridSortOptions.Column = "BOMCreateDate";
            }
            //.. Code for get records as page view model
            var pagesize = PageSize.HasValue ? PageSize.Value : Models.Common._pageSize;
            var page     = Page.HasValue ? Page.Value : Models.Common._currentPage;
            TempData["pager"] = pagesize;

            var pagedViewModel = new PagedViewModel <BoardMembersModel>
            {
                ViewData          = ViewData,
                Query             = _service.GetBoardMembers().AsQueryable(),
                GridSortOptions   = gridSortOptions,
                DefaultSortColumn = "BOMCreateDate",
                Page     = page,
                PageSize = pagesize,
            }.Setup();
            if (Request.IsAjaxRequest())                                    // check if request comes from ajax, then return Partial view
            {
                return(View("BoardMembersListingPartial", pagedViewModel)); // ("partial view name ")
            }
            else
            {
                return(View(pagedViewModel));
            }
        }
示例#3
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"));
            }
        }
示例#4
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)));
            }
        }
        /// <summary>
        /// this method will show the Gallery listing with all type master.
        /// </summary>
        /// <param name="Page">this parameter is used to get page number to be shown.</param>
        /// <param name="PageSize">this parameter is used to get no of recorde to be shown.</param>
        /// <param name="gridSortOptions">this parameter is used to get grid sorting option.</param>
        /// <param name="glt">this parameter is used to get type id of the gallery listing i.e. 1,2 or 3</param>
        /// <param name="CategoryId">show the category id in case of image type=3 i.e Photo Gallery</param>
        /// <param name="formCollection">this parameter is used to get controls collection on the page.</param>
        /// <param name="ObjResult"></param>
        /// <returns>view to enter image details.</returns>
        public ActionResult Index(int?Page, int?PageSize, GridSortOptions gridSortOptions, FormCollection formCollection, string ObjResult)
        {
            var db_obj = new db_KISDEntities();

            var currentLoggedUserId = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
            var CurrentUserRoleID   = objContext.UserRoles.Where(x => x.UserID == currentLoggedUserId).FirstOrDefault().RoleID;

            if (CurrentUserRoleID > 2)//if not super admin and sub admin then redirect to home
            {
                return(RedirectToAction("Index", "Home"));
            }
            ViewBag.Rolllist = GetAllUserType(CurrentUserRoleID);
            var searchusername = "";
            var searchusertype = "";

            #region Ajax Call
            if (ObjResult != null)
            {
                AjaxRequest objAjaxRequest = JsonConvert.DeserializeObject <AjaxRequest>(ObjResult);//Convert json String to object Model
                if (objAjaxRequest.ajaxcall != null && !string.IsNullOrEmpty(objAjaxRequest.ajaxcall) && ObjResult != null && !string.IsNullOrEmpty(ObjResult))
                {
                    if (objAjaxRequest.ajaxcall == "paging")       //Ajax Call type = paging i.e. Next|Previous|Back|Last
                    {
                        Session["pageNo"] = Page;                  // stores the page no for status
                    }
                    else if (objAjaxRequest.ajaxcall == "sorting") //Ajax Call type = sorting i.e. column sorting Asc or Desc
                    {
                        Page = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        Session["GridSortOption"] = gridSortOptions;
                        PageSize = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"].ToString()) : PageSize);
                    }
                    else if (objAjaxRequest.ajaxcall == "ddlPaging")//Ajax Call type = drop down paging i.e. drop down value 10, 25, 50, 100, ALL
                    {
                        Session["PageSize"]       = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : PageSize);
                        Session["GridSortOption"] = gridSortOptions;
                        Session["pageNo"]         = Page;
                    }
                    else if (objAjaxRequest.ajaxcall == "status")//Ajax Call type = status i.e. Active/Inactive
                    {
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    else if (objAjaxRequest.ajaxcall == "search")//Ajax Call type = search
                    {
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    if (!string.IsNullOrEmpty(objAjaxRequest.qs_FilterUserType))
                    {
                        searchusertype = objAjaxRequest.qs_FilterUserType.Trim();
                    }
                    if (!string.IsNullOrEmpty(objAjaxRequest.qs_FilterUserName))
                    {
                        searchusername = objAjaxRequest.qs_FilterUserName.Trim();
                    }
                    objAjaxRequest.ajaxcall = null;; //remove parameter value
                }

                //Ajax Call for update status for images
                if (objAjaxRequest.hfid != null && objAjaxRequest.hfvalue != null && !string.IsNullOrEmpty(objAjaxRequest.hfid) && !string.IsNullOrEmpty(objAjaxRequest.hfvalue) && ObjResult != null && !string.IsNullOrEmpty(ObjResult))
                {
                    var ListingID   = System.Convert.ToInt64(objAjaxRequest.hfid);
                    var userListing = objContext.Users.Find(ListingID);
                    if (userListing != null)
                    {
                        #region System Change Log
                        var oldresult = (from a in objContext.Users
                                         where a.UserID == ListingID
                                         select a).ToList();

                        DataTable dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                        #endregion

                        userListing.StatusInd = objAjaxRequest.hfvalue == "1";
                        objContext.SaveChanges();

                        #region System Change Log
                        SystemChangeLog objSCL  = new SystemChangeLog();
                        User            objuser = objContext.Users.Where(x => x.UserID == currentLoggedUserId).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   = "Users Listing";
                        objSCL.LogTypeTxt  = "Update";
                        objSCL.NotesTxt    = "Status updated for " + userListing.FirstNameTxt + " " + userListing.LastNameTxt;
                        objSCL.LogDateTime = DateTime.Now;
                        objContext.SystemChangeLogs.Add(objSCL);
                        objContext.SaveChanges();

                        objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                        var newResult = (from x in objContext.Users
                                         where x.UserID == userListing.UserID
                                         select x);

                        DataTable dtNew = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(newResult);
                        foreach (DataColumn col in dtNew.Columns)
                        {
                            // 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();
                            }
                        }
                        #endregion

                        TempData["AlertMessage"] = "Status updated successfully.";
                        objAjaxRequest.hfid      = null; //remove parameter value
                        objAjaxRequest.hfvalue   = null; //remove parameter value

                        PageSize        = ((Request.QueryString["pagesize"] != null && Request.QueryString["pagesize"].ToString() != "All") ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : PageSize);
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                }
                else
                {
                    TempData["Message"] = string.Empty;
                }
                ObjResult = string.Empty;
            }
            #endregion Ajax Call

            ViewBag.Title = ViewBag.PageTitle = "User Listing";

            //This section is used to retain the values of page , pagesize and gridsortoption on complete page post back(Edit, Dlete)
            if (!Request.IsAjaxRequest() && Session["Edit/Delete"] != null && !string.IsNullOrEmpty(Session["Edit/Delete"].ToString()))
            {
                PageSize               = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"]) : Models.Common._pageSize);
                Page                   = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"]) : Models.Common._currentPage);
                gridSortOptions        = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                Session["Edit/Delete"] = null;
            }
            else if (!Request.IsAjaxRequest() && Session["Edit/Delete"] == null)
            {
                gridSortOptions.Column    = "UserCreateDate";
                Session["PageSize"]       = null;
                Session["pageNo"]         = null;
                Session["GridSortOption"] = null;
            }
            if (gridSortOptions.Column == "Name" || gridSortOptions.Column == "UserCreateDate" ||
                gridSortOptions.Column == "UserNameTxt")
            {
            }
            else
            {
                gridSortOptions.Column = "UserCreateDate";
            }
            //.. Code for get records as page view model
            var pagesize = PageSize.HasValue ? PageSize.Value : Models.Common._pageSize;
            var page     = Page.HasValue ? Page.Value : Models.Common._currentPage;
            TempData["pager"] = pagesize;

            var pagedViewModel = new PagedViewModel <UsersModel>
            {
                ViewData          = ViewData,
                Query             = _service.GetUserListingView(CurrentUserRoleID, searchusername, searchusertype),
                GridSortOptions   = gridSortOptions,
                DefaultSortColumn = "UserCreateDate",
                Page     = page,
                PageSize = pagesize,
            }.Setup();
            if (Request.IsAjaxRequest())                            // check if request comes from ajax, then return Partial view
            {
                return(View("UserListingPartial", pagedViewModel)); // ("partial view name ")
            }
            else
            {
                return(View(pagedViewModel));
            }
        }
示例#6
0
        public ActionResult Create(ContentModel model, string command, FormCollection fm)
        {
            try
            {
                using (var objContext = new db_KISDEntities())
                {
                    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 RightSectionTitle = (from db in objContext.RightSections
                                                 where db.StatusInd == true
                                                 select new { db.TitleTxt, db.RightSectionID }).ToList().OrderBy(x => x.TitleTxt);

                        ViewBag.RightSectionTitle = RightSectionTitle;

                        var ContentType = model.ContentTypeID;
                        ViewBag.ContentTypeID = ContentType;
                        var IsSave           = false;
                        var contenttypetitle = objContext.ContentTypes.Find(ContentType).ContentTypeNameTxt;
                        ViewBag.Title       = contenttypetitle;
                        ViewBag.PageTitle   = model.PageTitleTxt ?? "";
                        ViewBag.IsActiveInd = GetStatusData(model.StatusInd == true ? "1" : "0");
                        var objContent = objContext.Contents.Where(x => x.ContentTypeID == ContentType).FirstOrDefault();
                        if (objContent == null)
                        {
                            IsSave     = true;
                            objContent = new Content();
                        }

                        #region System Change Log
                        DataTable dtOld;
                        var       oldResult = (from a in objContext.Contents
                                               where a.ContentID == model.ContentID
                                               select a).ToList();
                        dtOld = Models.Common.LINQResultToDataTable(oldResult);
                        #endregion

                        ViewBag.Submit = IsSave ? "Save" : "Update";

                        if (model != null && !string.IsNullOrEmpty(model.PageURLTxt))
                        {
                            var count = 0;
                            count  = objContext.Contents.Where(x => x.PageURLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.ContentID != model.ContentID && x.IsDeletedInd == false).Count();
                            count += objContext.BoardOfMembers.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                            count += objContext.Departments.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                            count += objContext.ExceptionOpportunities.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                            count += objContext.GalleryListings.Where(x => x.URLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.IsDeletedInd == false).Count();
                            count += objContext.NewsEvents.Where(x => x.PageURLTxt.ToLower().Trim() == model.PageURLTxt.ToLower().Trim() && x.IsDeletedInd == false).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)
                            {
                                #region Route value directory
                                var rvd = new RouteValueDictionary();
                                rvd.Add("ContentType", ContentType);
                                #endregion

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


                        objContent.ContentTypeID          = ContentType;
                        objContent.ParentID               = (int?)null;
                        objContent.IsExternalLinkInd      = model.IsExternalLinkInd;
                        objContent.ExternalLinkTxt        = string.IsNullOrEmpty(model.ExternalLinkTxt) ? string.Empty : model.ExternalLinkTxt;
                        objContent.ExternalLinkTargetInd  = model.IsExternalLinkInd ? model.ExternalLinkTargetInd : false;
                        objContent.PageTitleTxt           = model.IsExternalLinkInd ? string.Empty :(string.IsNullOrEmpty(model.PageTitleTxt) ? string.Empty : model.PageTitleTxt);
                        objContent.MenuTitleTxt           = string.IsNullOrEmpty(model.MenuTitleTxt) ? (ContentType == 1 ? "home" : string.Empty) : model.MenuTitleTxt.Replace("<", "");
                        objContent.PageURLTxt             = model.IsExternalLinkInd ? string.Empty : (string.IsNullOrEmpty(model.PageURLTxt) ? (ContentType == 1 ? "home" : string.Empty) : (ContentType == 1 ? "home" : model.PageURLTxt));
                        objContent.BannerImageID          = model.IsExternalLinkInd ? 0 : model.BannerImageID;
                        objContent.AbstractTxt            = string.IsNullOrEmpty(model.AbstractTxt) ? string.Empty : model.AbstractTxt;
                        objContent.BannerImageAbstractTxt = model.IsExternalLinkInd ? string.Empty :(string.IsNullOrEmpty(model.BannerImageAbstractTxt) ? string.Empty : model.BannerImageAbstractTxt);
                        objContent.DescriptionTxt         = model.IsExternalLinkInd ? string.Empty :(string.IsNullOrEmpty(model.DescriptionTxt) ? string.Empty : model.DescriptionTxt);
                        objContent.StatusInd              = (ContentType == Convert.ToInt32(ContentTypeAlias.Footer) ||
                                                             ContentType == Convert.ToInt32(ContentTypeAlias.Header) ||
                                                             ContentType == Convert.ToInt32(ContentTypeAlias.Search) ||
                                                             ContentType == Convert.ToInt32(ContentTypeAlias.Home)
                                                             ) ? true : (fm["IsActiveInd"] == "1" ? true : false);
                        objContent.ContentCreateDate = model.ContentCreateDate;

                        objContent.PageMetaTitleTxt        = model.IsExternalLinkInd ? string.Empty :(string.IsNullOrEmpty(model.PageMetaTitleTxt) ? string.Empty : model.PageMetaTitleTxt);
                        objContent.PageMetaDescriptionTxt  = model.IsExternalLinkInd ? string.Empty :(string.IsNullOrEmpty(model.PageMetaDescriptionTxt) ? string.Empty : model.PageMetaDescriptionTxt);
                        objContent.AltBannerImageTxt       = model.IsExternalLinkInd ? string.Empty : model.AltBannerImageTxt;
                        objContent.RightSectionAbstractTxt = model.IsExternalLinkInd ? string.Empty : model.RightSectionAbstractTxt;
                        objContent.RightSectionTitleTxt    = model.IsExternalLinkInd ? string.Empty : model.RightSectionTitleTxt;
                        objContent.IsFacebookSharingInd    = model.IsExternalLinkInd ? false : model.IsFacebookSharingInd;
                        objContent.IsGooglePlusSharingInd  = model.IsExternalLinkInd ? false: model.IsGooglePlusSharingInd;
                        objContent.IsTwitterSharingInd     = model.IsExternalLinkInd ? false : model.IsTwitterSharingInd;
                        objContent.IsDeletedInd            = false;
                        objContent.CreateDate     = model.ContentID > 0 ? objContent.CreateDate : DateTime.Now;;
                        objContent.CreateByID     = model.ContentID > 0 ? objContent.CreateByID : Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                        objContent.LastModifyByID = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                        objContent.LastModifyDate = DateTime.Now;

                        //Save image path
                        if (file != null && file.ContentLength > 0)
                        {
                            #region Upload Image
                            Models.Common.CreateFolder();
                            var NewImgName = UploadImage();
                            //var croppedfile = new FileInfo(Server.MapPath(NewImgName.Data.ToString()));//err
                            var fileName = NewImgName.Data;
                            TempData["CroppedImage"] = null;
                            objContent.AbstractTxt   = "~/WebData/images/" + fileName;
                            #endregion

                            if (!string.IsNullOrEmpty(model.AbstractTxt) && (
                                    (objContent.ContentTypeID == Convert.ToInt32(ContentTypeAlias.Header))
                                    ))
                            {
                                try
                                {
                                    Models.Common.DeleteImage(Server.MapPath(model.AbstractTxt));
                                }
                                catch
                                {
                                }
                            }
                        }
                        if (IsSave)
                        {
                            objContext.Contents.Add(objContent);
                        }
                        objContext.SaveChanges();

                        var AlertText = IsContent(objContent.ContentTypeID) ? " Content" : " Page Content";
                        TempData["Alert"] = contenttypetitle + (IsSave ? AlertText + " saved successfully." : AlertText + " 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   = "Content";
                        objSCL.LogTypeTxt  = model.ContentID > 0 ? "Update" : "Add";
                        objSCL.NotesTxt    = (GetContentType(model.ContentTypeID)) + " Details" + (model.ContentID > 0 ? " updated for " : "  added for ") + model.PageTitleTxt;
                        objSCL.LogDateTime = DateTime.Now;
                        objContext.SystemChangeLogs.Add(objSCL);
                        objContext.SaveChanges();
                        objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                        var newResult = (from x in objContext.Contents
                                         where x.ContentID == objContent.ContentID
                                         select x);
                        DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                        foreach (DataColumn col in dtNew.Columns)
                        {
                            if (model.ContentID > 0)
                            {
                                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", "Home"));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }
            catch (Exception ex)
            {
                TempData["Alert"] = " Some error occured. Please try again later.";
                return(RedirectToAction("Index", "Home"));
            }
        }
示例#7
0
        public ActionResult Index(int?page, int?pagesize, GridSortOptions gridSortOptions, string tmi, string si, FormCollection fm, string objresult)
        {
            si = !string.IsNullOrEmpty(Convert.ToString(si)) ? EncryptDecrypt.Decrypt(si) : "0";
            long _tmi = !string.IsNullOrEmpty(Convert.ToString(tmi)) ? Convert.ToInt64(EncryptDecrypt.Decrypt(tmi)) : 0;

            #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(
                _tmi == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ?
                Convert.ToInt32(ModuleType.Masters) : Convert.ToInt32(ModuleType.School)
                , 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

            if (string.IsNullOrEmpty(gridSortOptions.Column))
            {
                gridSortOptions.Direction = MvcContrib.Sorting.SortDirection.Descending;
            }
            ModelService objModelService = new ModelService();

            using (objContext = new db_KISDEntities())
            {
                int menutypeId = Convert.ToInt32(si);
                ViewBag.PageTitle = _tmi == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? " School Category Listing" : "School Listing";
                ViewBag.Title     = _tmi == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? " School Category Listing" : "School Listing";
                //*******************Fill Values if Display order contains null values***************************
                //var displayOrderList = objContext.Contents.Where(x => x.ContentTypeID == menutypeId && x.ParentID == null).ToList();
                //foreach (var item in displayOrderList)
                //{
                //    if (string.IsNullOrEmpty(item.DisplayOrderNbr.ToString()))
                //    {
                //        var objContentData = objContext.Contents.Where(x => x.ContentID == item.ContentID).FirstOrDefault();
                //        var displayOrder1 = (displayOrderList.Max(x => x.DisplayOrderNbr)) == null ? 1 : displayOrderList.Max(x => x.DisplayOrderNbr).Value + 1;
                //        objContentData.DisplayOrderNbr = displayOrder1;
                //        objContext.SaveChanges();
                //    }
                //}
                //***********************************************************

                #region Ajax Call

                // Ajax call type
                if (objresult != null)
                {
                    AjaxRequest objAjaxRequest = JsonConvert.DeserializeObject <AjaxRequest>(objresult);//Convert json String to object Model
                    if (objAjaxRequest.ajaxcall != null && !string.IsNullOrEmpty(objAjaxRequest.ajaxcall) && objresult != null && !string.IsNullOrEmpty(objresult))
                    {
                        if (objAjaxRequest.ajaxcall == "paging")       //Ajax Call type = paging i.e. Next|Previous|Back|Last
                        {
                            Session["pageNo"] = page;                  // stores the page no for status
                        }
                        else if (objAjaxRequest.ajaxcall == "sorting") //Ajax Call type = sorting i.e. column sorting Asc or Desc
                        {
                            page = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                            Session["GridSortOption"] = gridSortOptions;
                            pagesize = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"].ToString()) : pagesize);
                        }
                        else if (objAjaxRequest.ajaxcall == "ddlPaging")//Ajax Call type = drop down paging i.e. drop down value 10, 25, 50, 100, ALL
                        {
                            Session["PageSize"]       = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : pagesize);
                            Session["GridSortOption"] = gridSortOptions;
                            Session["pageNo"]         = page;
                        }
                        else if (objAjaxRequest.ajaxcall == "status")//Ajax Call type = status i.e. Active/Inactive
                        {
                            page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                            gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                        }
                        objAjaxRequest.ajaxcall = null;//remove parameter value
                    }

                    //Ajax CAll for update status for images
                    if (objAjaxRequest.hfid != null && objAjaxRequest.hfvalue != null && !string.IsNullOrEmpty(objAjaxRequest.hfid) && !string.IsNullOrEmpty(objAjaxRequest.hfvalue) && objresult != null && !string.IsNullOrEmpty(objresult))
                    {
                        var schoolID  = Convert.ToInt64(objAjaxRequest.hfid);
                        var objSchool = objContext.Schools.Find(schoolID);
                        if (objSchool != null)
                        {
                            #region System Change Log
                            var oldresult = (from a in objContext.Schools
                                             where a.SchoolID == schoolID
                                             select a).ToList();
                            DataTable dtOld = Models.Common.LINQResultToDataTable(oldresult);
                            #endregion
                            objSchool.StatusInd = objAjaxRequest.hfvalue == "1" ? true : false;
                            var isexist = objContext.Schools.Where(x => x.SchoolCategoryID == schoolID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                            isexist += objContext.ExceptionOpportunities.Where(x => x.SchoolCategoryID == schoolID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                            if (isexist > 0 && !objSchool.StatusInd.Value)
                            {
                                TempData["Message"] = "School Category is in use, cannot be set as Inactive.";
                            }
                            else
                            {
                                objContext.SaveChanges();
                                TempData["AlertMessage"] = "Status 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   = objSchool.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? "School Category" : "School ";
                                objSCL.LogTypeTxt  = objSchool.SchoolID > 0 ? "Update" : "Add";
                                objSCL.NotesTxt    = (objSchool.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? "School Category" : "School ") + " Details" + (objSchool.SchoolID > 0 ? " updated for " : "  added for ") + objSchool.NameTxt;
                                objSCL.LogDateTime = DateTime.Now;
                                objContext.SystemChangeLogs.Add(objSCL);
                                objContext.SaveChanges();

                                objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                                var newResult = (from x in objContext.Schools
                                                 where x.SchoolID == objSchool.SchoolID
                                                 select x);
                                DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                                foreach (DataColumn col in dtNew.Columns)
                                {
                                    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();
                                    }
                                }

                                #endregion
                            }
                        }
                        objAjaxRequest.hfid    = null; //remove parameter value
                        objAjaxRequest.hfvalue = null; //remove parameter value
                        pagesize        = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : pagesize);
                        page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    //*******DisplayOrder Dorder***************
                    else if (objAjaxRequest.qs_checkboxselected != null && objAjaxRequest.qs_value != null && !string.IsNullOrEmpty(objAjaxRequest.qs_checkboxselected) &&
                             !string.IsNullOrEmpty(objAjaxRequest.qs_value) && objAjaxRequest.qs_Type.Trim().ToLower() == "displayorder".Trim().ToLower())
                    {
                        var contentID      = Convert.ToInt64(objAjaxRequest.qs_checkboxselected);
                        var objMenuContent = objContext.Contents.Find(contentID);
                        if (objMenuContent != null)
                        {
                            try
                            {
                                //var displayOrder = string.IsNullOrEmpty(objMenuContent.DisplayOrderNum.ToString()) ? objHAI.Contents.Where(x => x.ContentTypeID == menutypeId).Max(x => x.DisplayOrderNum).Value : objMenuContent.DisplayOrderNum.Value ;
                                //if (objModelService.ChangeImageDisplayOrder(objMenuContent.DisplayOrderNbr.Value, Convert.ToInt32(objAjaxRequest.qs_value), Convert.ToInt64(objMenuContent.ContentID), menutypeId))
                                //{
                                //    TempData["AlertMessage"] = "Display Order has been changed successfully.";
                                //}
                            }
                            catch
                            {
                                TempData["AlertMessage"] = "Some Error Occured while changing Display Order, Please try again later.";
                            }
                            objAjaxRequest.qs_checkboxselected = null; //remove parameter value
                            objAjaxRequest.qs_value            = null; //remove parameter value
                            objAjaxRequest.qs_Type             = null; //remove parameter value

                            pagesize        = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : pagesize);
                            page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                            gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                        }
                    }
                    else
                    {
                        TempData["AlertMessage"] = string.Empty;
                    }
                    objresult = string.Empty;
                }
                #endregion Ajax Call

                //This section is used to retain the values of page , pagesize and gridsortoption on complete page post back(Edit, Dlete)
                if (!Request.IsAjaxRequest() && Session["Edit/Delete"] != null && !string.IsNullOrEmpty(Session["Edit/Delete"].ToString()))
                {
                    pagesize               = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"]) : Models.Common._pageSize);
                    page                   = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"]) : Models.Common._currentPage);
                    gridSortOptions        = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    Session["Edit/Delete"] = null;
                }
                else if (!Request.IsAjaxRequest() && Session["Edit/Delete"] == null)
                {
                    gridSortOptions.Column    = "SchoolCreateDate";
                    Session["PageSize"]       = null;
                    Session["pageNo"]         = null;
                    Session["GridSortOption"] = null;
                }
                //.. Code for get records as Page View Model
                var pageSize = pagesize.HasValue ? pagesize.Value : Models.Common._pageSize;
                var Page     = page.HasValue ? page.Value : Models.Common._currentPage;
                TempData["pager"] = pageSize;

                if (gridSortOptions.Column != null)
                {
                    if (gridSortOptions.Column == "NameTxt" ||
                        gridSortOptions.Column == "SchoolCategoryName" || gridSortOptions.Column == "PageTitleTxt" ||
                        gridSortOptions.Column == "SchoolCreateDate" || gridSortOptions.Column == "DisplayOrderNum")
                    {
                    }
                    else
                    {
                        gridSortOptions.Column = "SchoolCreateDate";
                    }
                }
                var pagedViewModel = new PagedViewModel <SchoolModel>
                {
                    ViewData          = ViewData,
                    Query             = objModelService.GetData(_tmi).AsQueryable(),
                    GridSortOptions   = gridSortOptions,
                    DefaultSortColumn = "SchoolCreateDate",
                    Page     = Page,
                    PageSize = pageSize,
                }
                .Setup();
                if (Request.IsAjaxRequest())                       // check if request comes from ajax, then return Partial view
                {
                    return(View("SchoolPartial", pagedViewModel)); // ("partial view name ")
                }
                else
                {
                    return(View(pagedViewModel));
                }
            }
        }
        /// <summary>
        /// this method will show the Announcement listing with all Announcement type.
        /// </summary>
        /// <param name="Page">this parameter is used to get page number to be shown.</param>
        /// <param name="PageSize">this parameter is used to get no of recorde to be shown.</param>
        /// <param name="gridSortOptions">this parameter is used to get grid sorting option.</param>
        /// <param name="it">this parameter is used to get type id of the Announcement i.e. 1,2 or 3</param>
        /// <param name="formCollection">this parameter is used to get controls collection on the page.</param>
        /// <param name="ObjResult"></param>
        /// <returns>view to enter Announcement details.</returns>
        public ActionResult Index(int?Page, int?PageSize, GridSortOptions gridSortOptions, string it, FormCollection formCollection, string ObjResult)
        {
            var db_obj = new db_KISDEntities();

            //Check for valid TypeMasterID
            if (it == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            #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.Masters), 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

            //decrypt Announcement type id(it)
            if (!string.IsNullOrEmpty(Convert.ToString(it)))
            {
                it = Convert.ToString(EncryptDecrypt.Decrypt(it));
            }
            TempData["CroppedImage"] = null;
            var AnnouncementType = it != null?Convert.ToInt32(it) : Convert.ToInt32(AnnouncementTypeAlias.Announcement);

            ViewBag.TypeMasterID = AnnouncementType;
            //*******************Fill Values if Display order contains null values***************************
            var displayOrderList = objContext.Announcements.Where(x => x.TypeMasterID == AnnouncementType && x.IsDeletedInd == false).ToList();
            foreach (var item in displayOrderList)
            {
                if (string.IsNullOrEmpty(item.DisplayOrderNbr.ToString()))
                {
                    var objContentData  = objContext.Announcements.Where(x => x.AnnouncementID == item.AnnouncementID).FirstOrDefault();
                    var NewdisplayOrder = (displayOrderList.Max(x => x.DisplayOrderNbr)) == null ? 1 : displayOrderList.Max(x => x.DisplayOrderNbr).Value + 1;
                    objContentData.DisplayOrderNbr = NewdisplayOrder;
                    objContext.SaveChanges();
                }
            }
            //***********************************************************

            #region Ajax Call
            if (ObjResult != null)
            {
                AjaxRequest objAjaxRequest = JsonConvert.DeserializeObject <AjaxRequest>(ObjResult);//Convert json String to object Model
                if (objAjaxRequest.ajaxcall != null && !string.IsNullOrEmpty(objAjaxRequest.ajaxcall) && ObjResult != null && !string.IsNullOrEmpty(ObjResult))
                {
                    if (objAjaxRequest.ajaxcall == "paging")       //Ajax Call type = paging i.e. Next|Previous|Back|Last
                    {
                        Session["pageNo"] = Page;                  // stores the page no for status
                    }
                    else if (objAjaxRequest.ajaxcall == "sorting") //Ajax Call type = sorting i.e. column sorting Asc or Desc
                    {
                        Page = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        Session["GridSortOption"] = gridSortOptions;
                        PageSize = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"].ToString()) : PageSize);
                    }
                    else if (objAjaxRequest.ajaxcall == "ddlPaging")//Ajax Call type = drop down paging i.e. drop down value 10, 25, 50, 100, ALL
                    {
                        Session["PageSize"]       = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : PageSize);
                        Session["GridSortOption"] = gridSortOptions;
                        Session["pageNo"]         = Page;
                    }
                    else if (objAjaxRequest.ajaxcall == "status")//Ajax Call type = status i.e. Active/Inactive
                    {
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    else if (objAjaxRequest.ajaxcall == "displayorder")//Ajax Call type = Display Order i.e. drop down values
                    {
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }

                    objAjaxRequest.ajaxcall = null;; //remove parameter value
                }

                //Ajax Call for update status for Announcements
                if (objAjaxRequest.hfid != null && objAjaxRequest.hfvalue != null && !string.IsNullOrEmpty(objAjaxRequest.hfid) && !string.IsNullOrEmpty(objAjaxRequest.hfvalue) && ObjResult != null && !string.IsNullOrEmpty(ObjResult))
                {
                    var Announcementid = System.Convert.ToInt64(objAjaxRequest.hfid);
                    var Announcements  = objContext.Announcements.Find(Announcementid);
                    if (Announcements != null)
                    {
                        #region System Change Log
                        var oldresult = (from a in objContext.Announcements
                                         where a.AnnouncementID == Announcementid
                                         select a).ToList();
                        DataTable dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                        #endregion
                        var isvalid = true;
                        if (AnnouncementType == Convert.ToInt32(AnnouncementTypeAlias.OnscreenAlert))
                        {
                            var onscreenalerttypeid = Convert.ToInt32(AnnouncementTypeAlias.OnscreenAlert);
                            var alertcnt            = objContext.Announcements.Where(x => x.TypeMasterID == onscreenalerttypeid && x.StatusInd == true && x.IsDeletedInd == false).Count();
                            if (alertcnt == 3 && objAjaxRequest.hfvalue == "1")
                            {
                                TempData["Message"] = "Maximum three onscreen alerts can be set as active to show on website.";
                                isvalid             = false;
                            }
                        }
                        if (isvalid)
                        {
                            Announcements.StatusInd = objAjaxRequest.hfvalue == "1";

                            if (objAjaxRequest.qs_Type == "displayorder")
                            {
                                if (AnnouncementService.ChangeAnnouncementDisplayOrder(Announcements.DisplayOrderNbr.Value, Convert.ToInt64(objAjaxRequest.qs_value), Announcements.AnnouncementID, Convert.ToInt32(Announcements.TypeMasterID)))
                                {
                                    TempData["AlertMessage"] = "Display Order has been changed successfully.";
                                }
                            }
                            else
                            {
                                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   = _service.GetAnnouncementType(Announcements.TypeMasterID.Value);
                                objSCL.LogTypeTxt  = Announcements.AnnouncementID > 0 ? "Update" : "Add";
                                objSCL.NotesTxt    = _service.GetAnnouncementType(Announcements.TypeMasterID.Value) + " Details updated status for " + Announcements.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.Announcements
                                                 where x.AnnouncementID == Announcements.AnnouncementID
                                                 select x);
                                DataTable dtNew = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(newResult);
                                foreach (DataColumn col in dtNew.Columns)
                                {
                                    // 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();
                                    }
                                }
                                #endregion
                                TempData["AlertMessage"] = "Status updated successfully.";
                            }
                        }


                        objAjaxRequest.hfid    = null; //remove parameter value
                        objAjaxRequest.hfvalue = null; //remove parameter value
                        objAjaxRequest.qs_Type = null;
                        PageSize        = ((Request.QueryString["pagesize"] != null && Request.QueryString["pagesize"].ToString() != "All") ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : Models.Common._pageSize);
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Models.Common._currentPage);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                }

                else
                {
                    TempData["Message"] = string.Empty;
                }
                ObjResult = string.Empty;
            }
            #endregion Ajax Call

            ViewBag.Title = ViewBag.PageTitle = _service.GetAnnouncementType(AnnouncementType);//+ "s"

            //This section is used to retain the values of page , pagesize and gridsortoption on complete page post back(Edit, Dlete)
            if (!Request.IsAjaxRequest() && Session["Edit/Delete"] != null && !string.IsNullOrEmpty(Session["Edit/Delete"].ToString()))
            {
                PageSize               = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"]) : Models.Common._pageSize);
                Page                   = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"]) : Models.Common._currentPage);
                gridSortOptions        = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                Session["Edit/Delete"] = null;
            }
            else if (!Request.IsAjaxRequest() && Session["Edit/Delete"] == null)
            {
                gridSortOptions.Column    = "AnnouncementCreateDate";
                Session["PageSize"]       = null;
                Session["pageNo"]         = null;
                Session["GridSortOption"] = null;
            }
            if (gridSortOptions.Column == "TitleTxt" || gridSortOptions.Column == "AnnouncementCreateDate" ||
                gridSortOptions.Column == "DisplayOrderNbr")
            {
            }
            else
            {
                gridSortOptions.Column = "AnnouncementCreateDate";
            }
            //.. Code for get records as page view model
            var pagesize = PageSize.HasValue ? PageSize.Value : Models.Common._pageSize;
            var page     = Page.HasValue ? Page.Value : Models.Common._currentPage;
            TempData["pager"] = pagesize;
            long announcementType = Convert.ToInt64(it);
            var  pagedViewModel   = new PagedViewModel <AnnouncementModel>
            {
                ViewData          = ViewData,
                Query             = _service.GetAnnouncements(announcementType).AsQueryable(),
                GridSortOptions   = gridSortOptions,
                DefaultSortColumn = "AnnouncementCreateDate",
                Page     = page,
                PageSize = pagesize,
            }.Setup();
            if (Request.IsAjaxRequest())                             // check if request comes from ajax, then return Partial view
            {
                return(View("AnnouncementPartial", pagedViewModel)); // ("partial view name ")
            }
            else
            {
                return(View(pagedViewModel));
            }
        }
示例#9
0
        public ActionResult Create(string command, FormCollection fm, ImageModel model, int?CategoryID)
        {
            try
            {
                var width = 1600;
                HttpPostedFileBase file = Request.Files.Count > 0 ? Request.Files[0] : null;
                ViewBag.Title        = (model.ImageID == 0 ? "Add " : "Edit ") + _service.GetImageType(model.ImageTypeID);
                ViewBag.StatusInd    = GetStatusData(string.Empty);
                ViewBag.Submit       = (model.ImageID == 0 ? "Save" : "Update");
                ViewBag.ImageTypeId  = model.ImageTypeID;
                ViewBag.Date         = model.ImageCreateDate.Value.ToShortDateString();
                ViewBag.StartDateStr = model.DisplayStartDate != null?Convert.ToString(model.DisplayStartDate) : "";

                ViewBag.EndDateStr = model.DisplayEndDate != null?Convert.ToString(model.DisplayEndDate) : "";

                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() : "ImageCreateDate");
                rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
                rvd.Add("it", EncryptDecrypt.Encrypt(Convert.ToString(model.ImageTypeID)));
                ViewBag.PageTitle      = (model.ImageID == 0 ? "Add " : "Edit ") + _service.GetImageType(model.ImageTypeID) + " Details";
                ViewBag.ImageTypeTitle = _service.GetImageType(model.ImageTypeID) + (model.ImageTypeID != 4 ? "s" : " Listing");

                #region System Change Log
                DataTable dtOld;
                var       oldresult = (from a in objContext.Images
                                       where a.ImageID == model.ImageID
                                       select a).ToList();
                dtOld = Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                if (string.IsNullOrEmpty(command))
                {
                    Image objImage;
                    if (model.ImageID > 0)
                    {
                        objImage = objContext.Images.Find(model.ImageID);
                    }
                    else
                    {
                        objImage = new Image();
                        objImage.IsDeletedInd = false;
                    }
                    ViewBag.StatusInd    = GetStatusData(objImage.StatusInd ? "1" : "0");
                    objImage.ImageTypeID = model.ImageTypeID;
                    objImage.StatusInd   = fm["StatusInd"].ToString() == "1";

                    if (!string.IsNullOrEmpty(model.TitleTxt))
                    {
                        var chkimage = objContext.Images.Where(x => x.TitleTxt.Trim() == model.TitleTxt.Trim() &&
                                                               x.ImageTypeID == model.ImageTypeID &&
                                                               x.ImageID != model.ImageID &&
                                                               (x.IsDeletedInd == false || x.IsDeletedInd == null)).Any();

                        if (chkimage)//check image title on adding new image details or updating existing 1
                        {
                            TempData["CroppedImage"] = null;
                            ModelState.AddModelError("TitleTxt", model.TitleTxt + " title already exists.");
                            return(View(model));
                        }

                        var content = objContext.Contents.Where(x => x.BannerImageID == model.ImageID).ToList();
                        if (content.Count > 0 && !objImage.StatusInd)
                        {
                            TempData["CroppedImage"] = null;
                            ViewBag.Date             = model.ImageCreateDate.Value.ToShortDateString().Trim();
                            TempData["Message"]      = "Image is in use, cannot be set as Inactive.";
                            return(View(model));
                        }
                        int ActiveBanners = objContext.Images.Where(x => x.StatusInd == true && x.ImageTypeID == model.ImageTypeID && x.IsDeletedInd == false).Count();
                        var PrevStatus    = objContext.Images.Where(x => x.ImageID == model.ImageID && x.ImageTypeID == model.ImageTypeID).Select(x => x.StatusInd).FirstOrDefault();
                        if (ActiveBanners == 1 && objImage.StatusInd == false && model.ImageTypeID == Convert.ToInt32(ImageTypeAlias.BannerImage) && PrevStatus == true)
                        {
                            TempData["Message"] = "At-least one image must remain active to show for Home Page slider.";
                            return(View(model));
                        }
                    }
                    objImage.TitleTxt        = model.TitleTxt ?? "";
                    objImage.AbstractTxt     = !string.IsNullOrEmpty(model.AbstractTxt) ? model.AbstractTxt : string.Empty;
                    objImage.AltImageTxt     = !string.IsNullOrEmpty(model.AltImageTxt) ? model.AltImageTxt.Replace(">", "").Replace("<", "") : string.Empty;
                    objImage.ImageCreateDate = model.ImageCreateDate;

                    objImage.URLTxt           = model.URLTxt;
                    objImage.TargetWindowInd  = model.TargetWindowInd;
                    objImage.DisplayStartDate = model.DisplayStartDate != null ? model.DisplayStartDate : null;
                    objImage.DisplayEndDate   = model.DisplayEndDate != null ? model.DisplayEndDate : null;

                    objImage.CreateDate     = model.ImageID > 0 ? objImage.CreateDate : DateTime.Now;;
                    objImage.CreateByID     = model.ImageID > 0 ? objImage.CreateByID : Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                    objImage.LastModifyByID = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                    objImage.LastModifyDate = DateTime.Now;
                    if (TempData["CroppedImage"] == null)
                    {
                        #region  Image
                        if (file != null && file.ContentLength > 0)
                        {
                            try
                            {
                            }
                            catch
                            {
                            }
                            var fileName = Path.GetFileName(file.FileName);
                            #region Upload Image
                            Models.Common.CreateFolder();
                            //.. Get extension of the document
                            var fileExtension = fileName.Substring(fileName.LastIndexOf("."), fileName.Length - fileName.LastIndexOf("."));
                            //.. Set fullname of the document path

                            var MyGuid = Guid.NewGuid();
                            fileName = MyGuid.ToString() + fileExtension;
                            //.. Create path of the document to save  into the defined physical path.
                            var strPath = Request.PhysicalApplicationPath + "WebData\\images\\" + fileName;
                            file.SaveAs(strPath);
                            objImage.ImgPathTxt = "~/WebData/images/" + fileName;
                            var myImage = Models.Common.CreateImageThumbnail(strPath, width);
                            myImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails\\" + fileName,
                                         fileExtension.ToLower() == ".png" ?
                                         System.Drawing.Imaging.ImageFormat.Png :
                                         fileExtension.ToLower() == ".gif" ?
                                         System.Drawing.Imaging.ImageFormat.Gif :
                                         System.Drawing.Imaging.ImageFormat.Jpeg
                                         );
                            myImage.Dispose();
                            var mysmallImage = Models.Common.CreateImageThumbnail(strPath, 100);
                            mysmallImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails_Small\\" + fileName,
                                              fileExtension.ToLower() == ".png" ?
                                              System.Drawing.Imaging.ImageFormat.Png :
                                              fileExtension.ToLower() == ".gif" ?
                                              System.Drawing.Imaging.ImageFormat.Gif :
                                              System.Drawing.Imaging.ImageFormat.Jpeg
                                              );
                            mysmallImage.Dispose();
                            #endregion
                        }

                        #endregion
                    }
                    else
                    {
                        #region Cropped Image
                        try
                        {
                            //Models.Common.DeleteImage(Server.MapPath(objImage.ImgPathTxt));
                            //Models.Common.DeleteImage(Server.MapPath(objImage.ImgPathTxt).Replace("images", "thumbnails"));
                            //Models.Common.DeleteImage(Server.MapPath(objImage.ImgPathTxt).Replace("images", "thumbnails_Small"));
                        }
                        catch { }

                        var croppedfile = new FileInfo(Server.MapPath(TempData["CroppedImage"].ToString()));
                        var fileName    = croppedfile.Name;
                        croppedfile = null;
                        var sourcePath = Server.MapPath(TempData["CroppedImage"].ToString());
                        var targetPath = Request.PhysicalApplicationPath + "WebData\\";
                        System.IO.File.Copy(Path.Combine(sourcePath.Replace(fileName, ""), fileName), Path.Combine(targetPath + "images\\", fileName), true);
                        System.IO.File.Copy(Path.Combine(sourcePath.Replace(fileName, ""), fileName), Path.Combine(targetPath + "thumbnails\\", fileName), true);

                        var mysmallImage = Models.Common.CreateImageThumbnail(targetPath + "images\\" + fileName, 100);
                        mysmallImage.Save(targetPath + "thumbnails_Small\\" + fileName,
                                          System.Drawing.Imaging.ImageFormat.Png);

                        mysmallImage.Dispose();

                        objImage.ImgPathTxt = "~/WebData/images/" + fileName;
                        try
                        {
                            System.IO.File.Delete(Server.MapPath(TempData["CroppedImage"].ToString()));
                        }
                        catch
                        {
                        }
                        TempData["CroppedImage"] = null;
                        #endregion
                    }

                    if (model.ImageID > 0)
                    {
                        TempData["AlertMessage"] = _service.GetImageType(model.ImageTypeID) + " details updated successfully.";
                        objContext.SaveChanges();
                    }
                    else
                    {
                        objContext.Images.Add(objImage);
                        objContext.SaveChanges();
                        TempData["AlertMessage"] = _service.GetImageType(model.ImageTypeID) + " details saved 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   = "Images";
                    objSCL.LogTypeTxt  = model.ImageID > 0 ? "Update" : "Add";
                    objSCL.NotesTxt    = (_service.GetImageType(model.ImageTypeID)) + " Details" + (model.ImageID > 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.Images
                                     where x.ImageID == objImage.ImageID
                                     select x);
                    DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                    foreach (DataColumn col in dtNew.Columns)
                    {
                        if (model.ImageID > 0)
                        {
                            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", "Image", rvd));
                }
                else
                {
                    return(RedirectToAction("Index", "Image", rvd));
                }
            }
            catch (Exception ex)
            {
                TempData["AlertMessage"] = "Some error occured. Please try again after some time.";
                return(View(model));
            }
        }
示例#10
0
        public JsonResult Delete(string it, string iid, int?CategoryID, FormCollection fm)
        {
            //decrypt image type id(it)
            it = !string.IsNullOrEmpty(Convert.ToString(it)) ? EncryptDecrypt.Decrypt(it) : "0";
            //decrypt image id(iid)
            iid = !string.IsNullOrEmpty(Convert.ToString(iid)) ? EncryptDecrypt.Decrypt(iid) : "0";

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

            ViewBag.ImageTypeId = it;
            ViewBag.Title       = _service.GetImageType(Convert.ToInt32(it));
            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() : "ImageCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
            rvd.Add("it", EncryptDecrypt.Encrypt(it));
            TempData["pager"]      = pagesize;
            Session["Edit/Delete"] = "Delete";
            try
            {
                // TODO: Add delete logic here
                //.. Check for image in use
                Image objImage = objContext.Images.Find(Convert.ToInt32(iid));
                long  ImgID    = Convert.ToInt64(iid);
                #region System Change Log
                var oldresult = (from a in objContext.Images
                                 where a.ImageID == ImgID
                                 select a).ToList();
                DataTable dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                var bannerimagetypeid = Convert.ToInt32(ImageTypeAlias.BannerImage);
                var imagetypeid       = Convert.ToInt32(it);
                var imagecount        = objContext.Images.Where(x => x.ImageTypeID == bannerimagetypeid && x.IsDeletedInd == false).Count();
                var content           = objContext.Contents.Where(x => x.BannerImageID == ImgID).ToList();
                if (content.Count > 0)
                {
                    TempData["Message"] = "Image is in use, cannot be deleted.";
                    rvd.Add("page", page);
                    return(Json(Url.Action("Index", "Image", rvd)));
                }
                if (objImage != null)
                {
                    if (imagecount == 1 && imagetypeid == bannerimagetypeid)
                    {
                        TempData["AlertMessage"] = "At-least one image must remain active to show for Home Page slider";
                    }
                    else
                    {
                        //****************Display Order ************************
                        var objImages = objContext.Images.Where(x => x.ImageTypeID == objImage.ImageTypeID).FirstOrDefault();
                        if (objImages != null)
                        {
                            try
                            {
                                var objImageService = new ImageService();
                                objImageService.ChangeDeletedDisplayOrder(objImages.DisplayOrderNbr.Value, objImage.ImageID, objImage.ImageTypeID);
                            }
                            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   = "Images";
                        objSCL.LogTypeTxt  = "Delete";
                        objSCL.NotesTxt    = (_service.GetImageType(objImage.ImageTypeID)) + " Details deleted for " + objImage.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.Images
                                             where x.ImageID == ImgID
                                             select x);
                        DataTable dtNew = 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
                        try
                        {
                            Models.Common.DeleteImage(Server.MapPath(objImage.ImgPathTxt));
                        }
                        catch
                        {
                        }
                        TempData["AlertMessage"] = _service.GetImageType(Convert.ToInt32(it)) + " 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;
                int ImageTypeID = Convert.ToInt32(it);
                var count       = objContext.Images.Where(x => x.ImageTypeID == ImageTypeID).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", "Image", rvd)));
            }
            catch (Exception ex)
            {
                rvd.Add("page", page);
                return(Json(Url.Action("Index", "Image", rvd)));
            }
        }
示例#11
0
        public JsonResult Delete(string eid, int et)
        {
            Session["Edit/Delete"] = "Edit";
            if (!string.IsNullOrEmpty(eid))
            {
                int id = 0;
                //Decrypt email ID
                if (!string.IsNullOrEmpty(eid))
                {
                    id = Convert.ToInt32(EncryptDecrypt.Decrypt(eid));
                }
                #region System Change Log
                var oldresult = (from a in objContext.Emails
                                 where a.EmailID == id
                                 select a).ToList();
                DataTable dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                var checkexists = objContext.FormEmails.Where(x => x.EmailID == id).FirstOrDefault();
                if (checkexists == null)
                {
                    try
                    {
                        var obj = objContext.Emails.Where(x => x.EmailID == id).FirstOrDefault();
                        if (obj != null)
                        {
                            obj.IsDeletedInd = true;
                            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   = "Email";
                        objSCL.LogTypeTxt  = "Delete";
                        objSCL.NotesTxt    = "Email details deleted";
                        objSCL.LogDateTime = DateTime.Now;
                        objContext.SystemChangeLogs.Add(objSCL);
                        objContext.SaveChanges();
                        objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                        var newResult = (from x in objContext.Emails
                                         where x.EmailID == id
                                         select x);
                        DataTable dtNew = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(newResult);
                        foreach (DataColumn col in dtNew.Columns)
                        {
                            // 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();
                            }
                        }
                        #endregion
                    }
                    catch
                    {
                    }
                    TempData["AlertMessage"] = (et == 1 ? "From " : "To ") + "Email details deleted successfully.";
                }
                else
                {
                    TempData["Message"] = "Email is in use, cannot be deleted.";
                }
            }
            var count     = objContext.Emails.Where(x => x.EmailTypeID == et).Count();
            var Column    = Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "EmailTxt";
            var Direction = Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Ascending";
            var page      = Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : "1";
            var pagesize  = Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : "10";
            return(Json(Url.Action("Emails", "Email", new { et = et, page = Convert.ToInt32(page), pagesize = Convert.ToInt32(pagesize), Column = Column, Direction = Direction, eid = EncryptDecrypt.Encrypt("0") })));
        }
示例#12
0
        public ActionResult Emails(int?et, EmailModel model, string command, GridSortOptions gridSortOptions, int?page, int?pagesize)
        {
            Session["Edit/Delete"] = "Edit";
            var emailType = et.HasValue ? et.Value : Convert.ToInt32(EmailTypeAlias.From_Email);
            var pageSize  = pagesize.HasValue ? pagesize.Value : Models.Common._pageSize;
            var Page      = page.HasValue ? page.Value : Models.Common._currentPage;

            TempData["pager"] = pagesize;
            ViewBag.Edit      = null;//Check for postback or not
            var grdsrtOpt = new GridSortOptions();

            grdsrtOpt.Column    = gridSortOptions != null ? gridSortOptions.Column : "EmailTxt";
            grdsrtOpt.Direction = gridSortOptions != null ? gridSortOptions.Direction : MvcContrib.Sorting.SortDirection.Ascending;

            ViewBag.Title = _service.GetEmailType(emailType) + " Listing";
            var pagedViewModel = new PagedViewModel <EmailModel>
            {
                ViewData          = ViewData,
                Query             = _service.GetEmails(emailType),
                GridSortOptions   = grdsrtOpt,
                DefaultSortColumn = "EmailTxt",
                Page     = Page,
                PageSize = pageSize,
            }.Setup();

            ViewBag.Submit = model.EmailID == 0 ? "Save" : "Update";
            var isNew         = (model.EmailID == 0);
            var emailTypeName = _service.GetEmailType(model.EmailTypeID);

            ViewBag.Title = (isNew ? "Add " : "Edit ") + emailTypeName;
            var       emailTypeID = model.EmailTypeID == 0 ? Convert.ToInt32(Request.QueryString["emailtype"]) : model.EmailTypeID;
            var       rvd         = new RouteValueDictionary();
            DataTable dtOld;

            if (string.IsNullOrEmpty(command))
            {
                if (objContext.Emails.Where(x => x.EmailTxt.Trim().ToLower() == model.EmailTxt.Trim().ToLower() && x.EmailID != model.EmailID && x.EmailTypeID == model.EmailTypeID && x.IsDeletedInd == false).FirstOrDefault() != null)
                {
                    ModelState.AddModelError("EmailTxt", model.EmailTxt + " already exists.");
                    ViewBag.Edit = true;//Check for postback or not
                    return(View(pagedViewModel));
                }
                #region System Change Log
                var oldresult = (from a in objContext.Emails
                                 where a.EmailID == model.EmailID
                                 select a).ToList();
                dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                var email = objContext.Emails.Where(x => x.EmailID == model.EmailID).FirstOrDefault();
                if (isNew)
                {
                    email = new Email();
                }
                email.EmailTxt       = model.EmailTxt;
                email.EmailTypeID    = model.EmailTypeID == 0 ? Convert.ToInt32(Request.QueryString["emailtype"]) : model.EmailTypeID;
                email.CreateDate     = isNew ? DateTime.Now : email.CreateDate;
                email.CreateByID     = isNew ? Convert.ToInt64(Membership.GetUser().ProviderUserKey) : email.CreateByID;
                email.LastModifyByID = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                email.LastModifyDate = DateTime.Now;
                email.IsDeletedInd   = isNew ? false : email.IsDeletedInd;
                if (isNew)
                {
                    objContext.Emails.Add(email);
                }
                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   = "Email";
                objSCL.LogTypeTxt  = isNew ? "Add" : "Update";
                objSCL.NotesTxt    = isNew ? " Email details Added" : "Email Details Updated";
                objSCL.LogDateTime = DateTime.Now;
                objContext.SystemChangeLogs.Add(objSCL);
                objContext.SaveChanges();
                objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                var newResult = (from x in objContext.Emails
                                 where x.EmailID == email.EmailID
                                 select x);
                DataTable dtNew = LINQResultToDataTable(newResult);
                foreach (DataColumn col in dtNew.Columns)
                {
                    if (model.EmailID > 0)
                    {
                        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
                TempData["AlertMessage"] = emailTypeName + " details " + (model.EmailID == 0 ? "saved" : "updated") + " successfully.";
            }
            else
            {
                rvd.Add("pagesize", null);
                rvd.Add("page", null);
                rvd.Add("emailtype", emailTypeID);
                rvd.Add("eid", EncryptDecrypt.Encrypt("0"));
                pagedViewModel.EmailTxt = "";
                return(View(pagedViewModel));
            }
            var Column    = Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "EmailTxt";
            var Direction = Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Ascending";
            return(RedirectToAction("Emails", "Email", new { et = emailTypeID, page = page, pagesize = pagesize, Column = Column, Direction = Direction }));
        }
        public JsonResult Delete(string UID)
        {
            UID = !string.IsNullOrEmpty(Convert.ToString(UID)) ? EncryptDecrypt.Decrypt(UID) : "0";
            long UserID = Convert.ToInt32(UID);
            var  rvd    = new RouteValueDictionary();

            rvd.Add("pagesize", Request.QueryString["pagesize"] ?? "10");
            rvd.Add("Column", Request.QueryString["Column"] ?? "UserCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] ?? "Descending");
            Session["Edit/Delete"] = "Delete";
            if (UserID > 0)
            {
                try
                {
                    using (var objContext = new db_KISDEntities())
                    {
                        #region System Change Log
                        var oldresult = (from a in objContext.Users
                                         where a.UserID == UserID
                                         select a).ToList();
                        DataTable dtOld = Models.Common.LINQResultToDataTable(oldresult);
                        #endregion

                        var obj = objContext.Users.Where(x => x.UserID == UserID).ToList();
                        foreach (var value in obj)
                        {
                            value.IsDeletedInd = true;
                            objContext.SaveChanges();

                            #region Delete Selected Departments for the User
                            var objUserDept = objContext.UserDepartments.Where(x => x.UserID == UserID).ToList();
                            if (objUserDept.Count() > 0)
                            {
                                foreach (var s in objUserDept)
                                {
                                    objContext.UserDepartments.Remove(s);
                                    objContext.SaveChanges();
                                }
                            }
                            #endregion

                            #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   = "Users";
                            objSCL.LogTypeTxt  = "Delete";
                            objSCL.NotesTxt    = "Users Details deleted for " + value.FirstNameTxt + " " + objuser.LastNameTxt;
                            objSCL.LogDateTime = DateTime.Now;
                            objContext.SystemChangeLogs.Add(objSCL);
                            objContext.SaveChanges();
                            objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                            var newResult = (from x in objContext.RightSections
                                             where x.RightSectionID == UserID
                                             select x);
                            DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                            if (dtOld.Rows.Count > 0)
                            {
                                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  = "";// dtNew.Rows[0][col.ColumnName].ToString();
                                    objContext.SystemChangeLogDetails.Add(objSCLD);
                                    objContext.SaveChanges();
                                }
                            }
                            #endregion
                        }
                        TempData["AlertMessage"] = " User details deleted successfully.";
                    }
                }
                catch (Exception e)
                {
                    TempData["AlertMessage"] = "Some error occured while deleting the User, Please try again later.";
                }
            }
            int?Page  = 1;
            var count = 1;
            using (var objContext = new db_KISDEntities())
            {
                count = objContext.Users.Where(x => x.IsDeletedInd == false).Count();
            }
            var page     = Request.QueryString["page"] ?? "1";
            var pagesize = Request.QueryString["pagesize"] ?? "10";
            if (Convert.ToInt32(page) > 1)
            {
                Page = count > ((Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize)) ? Convert.ToInt32(page) : (Convert.ToInt32(page)) - 1;
            }
            rvd.Add("page", Page);
            return(Json(Url.Action("Index", "UsersManagement", rvd)));
        }
示例#14
0
        public JsonResult Delete(string bmid)
        {
            bmid = !string.IsNullOrEmpty(Convert.ToString(bmid)) ? EncryptDecrypt.Decrypt(bmid) : "0";
            long BOMID = Convert.ToInt32(bmid);
            var  rvd   = new RouteValueDictionary();

            rvd.Add("pagesize", Request.QueryString["pagesize"] ?? "10");
            rvd.Add("Column", Request.QueryString["Column"] ?? "BOMCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] ?? "Descending");
            Session["Edit/Delete"] = "Delete";
            if (BOMID > 0)
            {
                try
                {
                    using (var objContext = new db_KISDEntities())
                    {
                        #region System Change Log
                        var oldresult = (from a in objContext.BoardOfMembers
                                         where a.BoardMemberID == BOMID
                                         select a).ToList();
                        DataTable dtOld = Models.Common.LINQResultToDataTable(oldresult);
                        #endregion

                        //****************Display Order ************************
                        var objData = objContext.BoardOfMembers.Where(x => x.BoardMemberID == BOMID).FirstOrDefault();
                        if (objData != null)
                        {
                            try
                            {
                                var objModelService = new BoardMembersModelService();
                                var parentid        = Request.QueryString["ParentId"] ?? "0";
                                objModelService.ChangeDeletedDisplayOrder(objData.DisplayOrderNbr.Value, objData.BoardMemberID);
                            }
                            catch { }
                        }
                        //***************************************************

                        #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   = "Board Members";
                        objSCL.LogTypeTxt  = "Delete";
                        objSCL.NotesTxt    = "Board Members Details deleted for " + objData.NameTxt;
                        objSCL.LogDateTime = DateTime.Now;
                        objContext.SystemChangeLogs.Add(objSCL);
                        objContext.SaveChanges();
                        objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                        var newResult = (from x in objContext.RightSections
                                         where x.RightSectionID == BOMID
                                         select x);
                        DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                        foreach (DataColumn col in dtNew.Columns)
                        {
                            try
                            {
                                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();
                            }
                            catch { }
                        }
                        #endregion
                        try
                        {
                            Models.Common.DeleteImage(Server.MapPath(objData.ImageURLTxt));
                        }
                        catch
                        {
                        }
                        TempData["Message"] = " Board Member details deleted successfully.";
                    }
                }
                catch (Exception e)
                {
                    TempData["Message"] = "Some error occured while deleting the Member, Please try again later.";
                }
            }
            int?Page  = 1;
            var count = 1;
            using (var objContext = new db_KISDEntities())
            {
                count = objContext.Users.Where(x => x.IsDeletedInd == false).Count();
            }
            var page     = Request.QueryString["page"] ?? "1";
            var pagesize = Request.QueryString["pagesize"] ?? "10";
            if (Convert.ToInt32(page) > 1)
            {
                Page = count > ((Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize)) ? Convert.ToInt32(page) : (Convert.ToInt32(page)) - 1;
            }
            rvd.Add("page", Page);
            return(Json(Url.Action("Index", "BoardMembers", rvd)));
        }
示例#15
0
        public ActionResult Create(SchoolModel objSchoolModel, string command, FormCollection fm)
        {
            ViewBag.Title = "";
            var rvd = new RouteValueDictionary();

            rvd.Add("page", Request.QueryString["page"] ?? "1");
            rvd.Add("pagesize", Request.QueryString["pagesize"] ?? "10");
            rvd.Add("Column", Request.QueryString["Column"] ?? "SchoolCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] ?? "Descending");
            rvd.Add("si", Request.QueryString["si"] ?? EncryptDecrypt.Encrypt("0"));
            rvd.Add("tmi", Request.QueryString["tmi"] ?? EncryptDecrypt.Encrypt("0"));
            var masterid     = EncryptDecrypt.Encrypt(objSchoolModel.TypeMasterID.ToString());
            var TypeMasterID = Convert.ToInt32(EncryptDecrypt.Decrypt(masterid));

            ViewBag.LiTitle              = TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? " School Category Listing" : "School Listing";
            ViewBag.PageTitle            = (objSchoolModel.SchoolID == 0 ? "Add " : "Edit ") + (TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? " School Category" : "School Listing");
            ViewBag.StatusInd            = GetStatusData(objSchoolModel.StatusInd ? "1" : "0");
            objSchoolModel.strCreateDate = objSchoolModel.SchoolCreateDate.ToShortDateString();
            ViewBag.DateAdded            = objSchoolModel.SchoolCreateDate.ToShortDateString();
            if (TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.School))
            {
                objSchoolModel.SchoolCategoryID = Convert.ToInt64(fm["SchoolCategory"]);
                ViewBag.SchoolCategory          = GetSchoolCategories(objSchoolModel.SchoolCategoryID.ToString());
            }
            using (var objContext = new db_KISDEntities())
            {
                if (string.IsNullOrEmpty(command))
                {
                    try
                    {
                        #region System Change Log
                        DataTable dtOld;
                        var       oldResult = (from a in objContext.Schools
                                               where a.SchoolID == objSchoolModel.SchoolID
                                               select a).ToList();
                        dtOld = Models.Common.LINQResultToDataTable(oldResult);
                        #endregion

                        if (objSchoolModel != null && !string.IsNullOrEmpty(objSchoolModel.NameTxt)
                            //&& objSchoolModel.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory)
                            )
                        {
                            var count = 0;
                            count = objContext.Schools.Where(x => x.NameTxt.ToLower().Trim() == objSchoolModel.NameTxt.ToLower().Trim() &&
                                                             x.SchoolID != objSchoolModel.SchoolID && x.TypeMasterID == objSchoolModel.TypeMasterID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                            if (objSchoolModel.NameTxt.Trim().ToLower() == "error404")
                            {
                                count = count + 1;
                            }
                            if (count > 0)
                            {
                                //if user types url 'error404' below validation msg should display
                                if (objSchoolModel.NameTxt.ToLower().Trim() == "error404" || (objSchoolModel.NameTxt.ToLower().Trim() == "admin"))
                                {
                                    ModelState.AddModelError("NameTxt", objSchoolModel.NameTxt + " name is not allowed.");
                                }
                                else
                                {
                                    ModelState.AddModelError("NameTxt", objSchoolModel.NameTxt + " name already exists.");
                                }
                                //ViewBag.FocusPageUrl = true;// Set focus on Pageurl Field if same url exist
                                ViewBag.IsActiveInd = GetStatusData(fm["StatusInd"].ToString() == "1" ? "1" : "0");
                                return(View(objSchoolModel));
                            }
                        }
                        objSchoolModel.StatusInd = fm["StatusInd"] == "1" ? true : false;
                        var isexist = objContext.Schools.Where(x => x.SchoolCategoryID == objSchoolModel.SchoolID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                        isexist += objContext.ExceptionOpportunities.Where(x => x.SchoolCategoryID == objSchoolModel.SchoolID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                        if (isexist > 0 && !objSchoolModel.StatusInd)
                        {
                            ViewBag.IsActiveInd = GetStatusData(fm["StatusInd"].ToString() == "1" ? "1" : "0");
                            TempData["Message"] = "School Category is in use, cannot be set as Inactive.";
                            return(View(objSchoolModel));
                        }
                        long userid  = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                        User objuser = objContext.Users.Where(x => x.UserID == userid).FirstOrDefault();

                        School objSchool = null;
                        if (objSchoolModel.SchoolID == 0)
                        {
                            objSchool = new School();
                        }
                        else
                        {
                            objSchool = objContext.Schools.Where(x => x.SchoolID == objSchoolModel.SchoolID).FirstOrDefault();
                        }

                        if (objSchoolModel.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.School))
                        {
                            objSchool.SchoolCategoryID = Convert.ToInt64(fm["SchoolCategory"]);
                            objSchool.AddressTxt       = objSchoolModel.AddressTxt;
                            objSchool.PhoneNumberTxt   = objSchoolModel.PhoneNumberTxt;
                            objSchool.WebsiteURLTxt    = objSchoolModel.WebsiteURLTxt;
                        }
                        else
                        {
                            objSchool.PhoneNumberTxt   = null;
                            objSchool.SchoolCategoryID = null;
                            objSchool.AddressTxt       = null;
                            objSchool.WebsiteURLTxt    = null;
                        }
                        objSchool.PageURLTxt = objSchoolModel.PageURLTxt;
                        objSchool.NameTxt    = objSchoolModel.NameTxt;
                        objSchool.StatusInd  = fm["StatusInd"] == "1" ? true : false;
                        DateTime dt_to = Convert.ToDateTime(objSchoolModel.SchoolCreateDate, System.Globalization.CultureInfo.InvariantCulture);
                        objSchool.SchoolCreateDate = dt_to;
                        objSchool.CreateByID       = objSchoolModel.SchoolID > 0 ? objSchool.CreateByID : objuser.UserID;
                        objSchool.IsDeletedInd     = false;
                        objSchool.LastModifyByID   = objuser.UserID;
                        objSchool.LastModifyDate   = DateTime.Now;
                        objSchool.CreateDate       = objSchoolModel.SchoolID > 0 ? objSchool.CreateDate : DateTime.Now;
                        objSchool.TypeMasterID     = objSchoolModel.TypeMasterID;

                        if (objSchoolModel.SchoolID == 0)
                        {
                            objContext.Schools.Add(objSchool);
                        }

                        objContext.SaveChanges();

                        #region System Change Log
                        SystemChangeLog objSCL = new SystemChangeLog();
                        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   = objSchoolModel.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? "School Category" : "School";
                        objSCL.LogTypeTxt  = objSchoolModel.SchoolID > 0 ? "Update" : "Add";
                        objSCL.NotesTxt    = (objSchoolModel.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? "School Category" : "School") + " Details" + (objSchoolModel.SchoolID > 0 ? " updated for " : "  added for ") + objSchoolModel.NameTxt;
                        objSCL.LogDateTime = DateTime.Now;
                        objContext.SystemChangeLogs.Add(objSCL);
                        objContext.SaveChanges();
                        objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                        var newResult = (from x in objContext.Schools
                                         where x.SchoolID == objSchool.SchoolID
                                         select x);
                        DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                        foreach (DataColumn col in dtNew.Columns)
                        {
                            if (objSchoolModel.SchoolID > 0)
                            {
                                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

                        TempData["AlertMessage"] = objSchool.NameTxt + (objSchoolModel.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? " School Category details" : " School details") + (objSchoolModel.SchoolID == 0 ? " saved" : " updated") + " successfully.";
                    }
                    catch (Exception e)
                    {
                        TempData["AlertMessage"] = "Some error occured, Please try after some time.";
                    }
                }

                return(RedirectToAction("Index", rvd));
            }
        }
        public ActionResult Create(string command, FormCollection fm, AnnouncementModel model)
        {
            try
            {
                HttpPostedFileBase file = Request.Files.Count > 0 ? Request.Files[0] : null;
                ViewBag.Title                  = (model.AnnouncementID == 0 ? "Add " : "Edit ") + _service.GetAnnouncementType(model.TypeMasterID.Value);
                ViewBag.StatusInd              = GetStatusData(string.Empty);
                ViewBag.Submit                 = (model.AnnouncementID == 0 ? "Save" : "Update");
                ViewBag.TypeMasterID           = model.TypeMasterID;
                ViewBag.AnnouncementCreateDate = model.AnnouncementCreateDate.Value.ToShortDateString();
                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() : "AnnouncementCreateDate");
                rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
                rvd.Add("it", EncryptDecrypt.Encrypt(Convert.ToString(model.TypeMasterID)));
                ViewBag.PageTitle             = (model.AnnouncementID == 0 ? "Add " : "Edit ") + _service.GetAnnouncementType(model.TypeMasterID.Value) + " Details";
                ViewBag.AnnouncementTypeTitle = _service.GetAnnouncementType(model.TypeMasterID.Value);// +"s"
                ViewBag.StartDateStr          = model.DisplayStartDate != null?Convert.ToString(model.DisplayStartDate) : "";

                ViewBag.EndDateStr = model.DisplayEndDate != null?Convert.ToString(model.DisplayEndDate) : "";

                ViewBag.ScheduleDateStr = model.ScheduleDateTime != null?model.ScheduleDateTime.Value.ToShortDateString() : "";

                #region System Change Log
                DataTable dtOld;
                var       oldresult = (from a in objContext.Announcements
                                       where a.AnnouncementID == model.AnnouncementID
                                       select a).ToList();
                dtOld = Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                if (string.IsNullOrEmpty(command))
                {
                    Announcement objAnnouncement;
                    if (model.AnnouncementID > 0)
                    {
                        objAnnouncement = objContext.Announcements.Find(model.AnnouncementID);
                    }
                    else
                    {
                        objAnnouncement = new Announcement();
                        objAnnouncement.IsDeletedInd = false;
                    }
                    ViewBag.StatusInd            = GetStatusData(model.StatusInd ? "1" : "0");
                    objAnnouncement.TypeMasterID = model.TypeMasterID;
                    objAnnouncement.StatusInd    = fm["StatusInd"].ToString() == "1";
                    if (model.TypeMasterID == Convert.ToInt32(AnnouncementTypeAlias.OnscreenAlert))
                    {
                        var onscreenalerttypeid = Convert.ToInt32(AnnouncementTypeAlias.OnscreenAlert);
                        var alertcnt            = objContext.Announcements.Where(x => x.TypeMasterID == onscreenalerttypeid && x.StatusInd == true && x.IsDeletedInd == false && x.AnnouncementID != model.AnnouncementID).Count();
                        if (alertcnt == 3 && fm["StatusInd"].ToString() == "1")
                        {
                            TempData["Message"] = "Maximum three onscreen alerts can be set as active to show on website.";
                            return(View(model));
                        }
                    }
                    if (!string.IsNullOrEmpty(model.TitleTxt))
                    {
                        var chkAnnouncement = objContext.Announcements.Where(x => x.TitleTxt == model.TitleTxt.Trim() &&
                                                                             x.TypeMasterID == model.TypeMasterID &&
                                                                             x.AnnouncementID != model.AnnouncementID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Any();

                        if (chkAnnouncement)//check Announcement title on adding new Announcement details or updating existing 1
                        {
                            TempData["CroppedImage"] = null;
                            ModelState.AddModelError("TitleTxt", model.TitleTxt + " title already exists.");
                            return(View(model));
                        }

                        //if (!objAnnouncement.StatusInd.Value)
                        //{
                        //    TempData["CroppedImage"] = null;
                        //    ViewBag.AnnouncementCreateDate = model.AnnouncementCreateDate.Value.ToShortDateString().Trim();
                        //    TempData["Message"] = "Announcement is in use, cannot be set as Inactive.";
                        //    return View(model);
                        //}
                    }
                    objAnnouncement.TitleTxt               = model.TitleTxt;
                    objAnnouncement.AltImageTxt            = !string.IsNullOrEmpty(model.AltImageTxt) ? model.AltImageTxt.Replace(">", "").Replace("<", "") : string.Empty;
                    objAnnouncement.AnnouncementCreateDate = model.AnnouncementCreateDate;
                    objAnnouncement.DisplayStartDate       = model.DisplayStartDate != null ? model.DisplayStartDate : null;
                    objAnnouncement.DisplayEndDate         = model.DisplayEndDate != null ? model.DisplayEndDate : null;
                    objAnnouncement.DescriptionTxt         = model.DescriptionTxt;
                    objAnnouncement.CreateDate             = model.AnnouncementID > 0 ? objAnnouncement.CreateDate : DateTime.Now;;
                    objAnnouncement.CreateByID             = model.AnnouncementID > 0 ? objAnnouncement.CreateByID : Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                    objAnnouncement.LastModifyByID         = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                    objAnnouncement.LastModifyDate         = DateTime.Now;
                    objAnnouncement.ScheduleDateTime       = model.ScheduleDateTime;
                    objAnnouncement.ScheduleTimeTxt        = model.ScheduleTimeTxt;

                    if (TempData["CroppedImage"] != null)
                    {
                        #region Cropped Image
                        var croppedfile = new System.IO.FileInfo(Server.MapPath(TempData["CroppedImage"].ToString()));
                        var fileName    = croppedfile.Name;
                        croppedfile = null;
                        var sourcePath = Server.MapPath(TempData["CroppedImage"].ToString());
                        var targetPath = Request.PhysicalApplicationPath + "WebData\\";
                        System.IO.File.Copy(System.IO.Path.Combine(sourcePath.Replace(fileName, ""), fileName), System.IO.Path.Combine(targetPath + "images\\", fileName), true);
                        try
                        {
                            Models.Common.DeleteImage(Server.MapPath(TempData["CroppedImage"].ToString()));
                        }
                        catch
                        {
                        }
                        objAnnouncement.ImageURLTxt = "~/WebData/images/" + fileName;
                        var width         = 100;
                        var fileExtension = fileName.Substring(fileName.LastIndexOf("."), fileName.Length - fileName.LastIndexOf("."));
                        var strPath       = Request.PhysicalApplicationPath + "WebData\\images\\" + fileName;
                        var myImage       = Models.Common.CreateImageThumbnail(strPath, width);
                        myImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails\\" + fileName,
                                     fileExtension.ToLower() == ".png" ?
                                     System.Drawing.Imaging.ImageFormat.Png :
                                     fileExtension.ToLower() == ".gif" ?
                                     System.Drawing.Imaging.ImageFormat.Gif :
                                     System.Drawing.Imaging.ImageFormat.Jpeg
                                     );
                        myImage.Dispose();
                        TempData["CroppedImage"] = null;
                        #endregion
                    }
                    else
                    {
                        objAnnouncement.ImageURLTxt = objAnnouncement.ImageURLTxt;
                    }

                    if (model.AnnouncementID > 0)
                    {
                        TempData["AlertMessage"] = _service.GetAnnouncementType(model.TypeMasterID.Value) + " details updated successfully.";
                        objContext.SaveChanges();
                    }
                    else
                    {
                        objContext.Announcements.Add(objAnnouncement);
                        objContext.SaveChanges();
                        TempData["AlertMessage"] = _service.GetAnnouncementType(model.TypeMasterID.Value) + " details saved 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   = _service.GetAnnouncementType(objAnnouncement.TypeMasterID.Value);
                    objSCL.LogTypeTxt  = model.AnnouncementID > 0 ? "Update" : "Add";
                    objSCL.NotesTxt    = (_service.GetAnnouncementType(model.TypeMasterID.Value)) + " Details" + (model.AnnouncementID > 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.Announcements
                                     where x.AnnouncementID == objAnnouncement.AnnouncementID
                                     select x);
                    DataTable dtNew = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(newResult);
                    foreach (DataColumn col in dtNew.Columns)
                    {
                        if (model.AnnouncementID > 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", "Announcement", rvd));
                }
                else
                {
                    return(RedirectToAction("Index", "Announcement", rvd));
                }
            }
            catch
            {
                return(View(model));
            }
        }
示例#17
0
        public JsonResult Delete(string si, string tmi)
        {
            var rvd = new RouteValueDictionary();

            rvd.Add("pagesize", Request.QueryString["pagesize"] ?? "10");
            rvd.Add("Column", Request.QueryString["Column"] ?? "SchoolCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] ?? "Descending");
            rvd.Add("si", si);
            rvd.Add("tmi", tmi);

            //decrypt school id(mt)
            si = !string.IsNullOrEmpty(Convert.ToString(si)) ? EncryptDecrypt.Decrypt(si) : "0";

            int schoolID = Convert.ToInt32(si);

            Session["Edit/Delete"] = "Delete";
            long _tmi = !string.IsNullOrEmpty(Convert.ToString(tmi)) ? Convert.ToInt64(EncryptDecrypt.Decrypt(tmi)) : 0;

            if (schoolID > 0)
            {
                try
                {
                    using (var objContext = new db_KISDEntities())
                    {
                        var obj = objContext.Schools.Where(x => x.SchoolID == schoolID).First();
                        if (obj != null)
                        {
                            #region System Change Log
                            DataTable dtOld;
                            var       oldResult = (from a in objContext.Schools
                                                   where a.SchoolID == schoolID
                                                   select a).ToList();
                            dtOld = Models.Common.LINQResultToDataTable(oldResult);
                            #endregion
                            var isexist = objContext.Schools.Where(x => x.SchoolCategoryID == obj.SchoolID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                            isexist += objContext.ExceptionOpportunities.Where(x => x.SchoolCategoryID == obj.SchoolID && (x.IsDeletedInd == false || x.IsDeletedInd == null)).Count();
                            if (isexist > 0)
                            {
                                TempData["Message"] = "School Category is in use, cannot be deleted.";
                            }
                            else
                            {
                                obj.IsDeletedInd = true;
                                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   = _tmi == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? "School Category" : "School ";
                                objSCL.LogTypeTxt  = "Delete";
                                objSCL.NotesTxt    = obj.NameTxt + " Details deleted";
                                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.Schools
                                                     where x.SchoolID == schoolID
                                                     select x);
                                DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                                foreach (DataColumn col in dtNew.Columns)
                                {
                                    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  = col.ColumnName == "IsDeletedInd" ? dtNew.Rows[0][col.ColumnName].ToString() : "";
                                        objContext.SystemChangeLogDetails.Add(objSCLD);
                                        objContext.SaveChanges();
                                    }
                                }
                                #endregion
                                TempData["AlertMessage"] = obj.NameTxt + (obj.TypeMasterID == Convert.ToInt32(GalleryListingService.TypeMaster.SchoolCategory) ? " School Category details" : " School details") + " deleted successfully.";
                            }
                        }
                    }
                }
                catch
                {
                    TempData["AlertMessage"] = "Some error occured while deleting the Menu, Please try again later.";
                }
            }
            int?Page  = 1;
            var count = 1;
            using (var objContext = new db_KISDEntities())
            {
                count = objContext.Schools.Where(x => x.SchoolID == schoolID).Count();
            }
            var page     = Request.QueryString["page"] ?? "1";
            var pagesize = Request.QueryString["pagesize"] ?? "10";
            if (Convert.ToInt32(page) > 1)
            {
                Page = count > ((Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize)) ? Convert.ToInt32(page) : (Convert.ToInt32(page)) - 1;
            }
            rvd.Add("page", Page);
            return(Json(Url.Action("Index", "School", rvd)));
        }
        public JsonResult Delete(string it, string iid, FormCollection fm)
        {
            //decrypt Announcement type id(it)
            it = !string.IsNullOrEmpty(Convert.ToString(it)) ? EncryptDecrypt.Decrypt(it) : "0";
            //decrypt Announcement id(iid)
            iid = !string.IsNullOrEmpty(Convert.ToString(iid)) ? EncryptDecrypt.Decrypt(iid) : "0";

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

            ViewBag.TypeMasterID = it;
            ViewBag.Title        = _service.GetAnnouncementType(Convert.ToInt32(it));
            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() : "AnnouncementCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
            rvd.Add("it", EncryptDecrypt.Encrypt(it));
            TempData["pager"]      = pagesize;
            Session["Edit/Delete"] = "Delete";
            try
            {
                // TODO: Add delete logic here
                //.. Check for Announcement in use
                Announcement objAnnouncement = objContext.Announcements.Find(Convert.ToInt32(iid));
                int          AnnounceID      = Convert.ToInt32(iid);
                #region System Change Log
                var oldresult = (from a in objContext.Announcements
                                 where a.AnnouncementID == AnnounceID
                                 select a).ToList();
                DataTable dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
                #endregion
                if (objAnnouncement != null)
                {
                    // objAnnouncement.IsDeletedInd = true;

                    //****************Display Order ************************
                    //var objAnnouncements = objContext.Announcements.Where(x => x.TypeMasterID == objAnnouncement.TypeMasterID).FirstOrDefault();
                    if (objAnnouncement != null)
                    {
                        try
                        {
                            var objAnnouncementService = new AnnouncementService();
                            objAnnouncementService.ChangeDeletedDisplayOrder(objAnnouncement.DisplayOrderNbr.Value, objAnnouncement.AnnouncementID, objAnnouncement.TypeMasterID.Value);
                        }
                        catch { }
                    }

                    #region Delete Selected Right Section for the Announcement
                    var MasterID      = Convert.ToInt64(it);
                    var rightSections = objContext.RightSections.Where(x => x.ListingID == AnnounceID && x.TypeMasterID == MasterID).ToList();
                    if (rightSections != null && rightSections.Count() > 0)
                    {
                        foreach (var section in rightSections)
                        {
                            section.IsDeletedInd = true;
                        }
                        objContext.SaveChanges();
                    }
                    #endregion

                    //***************************************************
                    // 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   = _service.GetAnnouncementType(objAnnouncement.TypeMasterID.Value);
                    objSCL.LogTypeTxt  = "Delete";
                    objSCL.NotesTxt    = (_service.GetAnnouncementType(objAnnouncement.TypeMasterID.Value)) + " Details deleted for " + objAnnouncement.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.Announcements
                                         where x.AnnouncementID == AnnounceID
                                         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
                    try
                    {
                        Models.Common.DeleteImage(Server.MapPath(objAnnouncement.ImageURLTxt));
                    }
                    catch
                    {
                    }
                    TempData["AlertMessage"] = _service.GetAnnouncementType(Convert.ToInt32(it)) + " 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;
                int TypeMasterID = Convert.ToInt32(it);
                var count        = objContext.Announcements.Where(x => x.TypeMasterID == TypeMasterID && 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", "Announcement", rvd)));
            }
            catch
            {
                rvd.Add("page", page);
                return(Json(Url.Action("Index", "Announcement", rvd)));
            }
        }
        public ActionResult Create(UsersModel model, string command, FormCollection fm)
        {
            var currentLoggedUserId = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
            var CurrentUserRoleID   = objContext.UserRoles.Where(x => x.UserID == currentLoggedUserId).FirstOrDefault().RoleID;

            if (CurrentUserRoleID > 2)//if not super admin and sub admin then redirect to home
            {
                return(RedirectToAction("Index", "Home"));
            }

            var EncryptUserID = EncryptDecrypt.Encrypt(model.UserID.ToString());

            var rvd = new RouteValueDictionary();

            rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "UserCreateDate");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
            rvd.Add("pagesize", Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : Models.Common._pageSize.ToString());
            rvd.Add("page", Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : Models.Common._currentPage.ToString());
            ViewBag.Title = ViewBag.PageTitle = (model.UserID > 0 ? "Edit " : "Add ") + " User Details ";

            ViewBag.Submit         = model.UserID > 0 ? "Update" : "Save";
            ViewBag.CreateDate     = DateTime.Now.ToShortDateString();
            ViewBag.UserCreateDate = DateTime.Now.ToShortDateString();

            #region System Change Log
            DataTable dtOld;
            var       oldresult = (from a in objContext.Users
                                   where a.UserID == model.UserID
                                   select a).ToList();
            dtOld = KISD.Areas.Admin.Models.Common.LINQResultToDataTable(oldresult);
            #endregion

            var objDBContent = new db_KISDEntities();
            var objctUser    = new User();
            ViewBag.IsActiveInd = Models.Common.GetStatusListBoolean(model.Status.ToString());
            ViewBag.UserID      = model.UserID;
            ViewBag.isValid     = "1";
            ViewBag.RolesList   = GetAllUserType(currentLoggedUserId);
            ViewBag.UserTypeID  = model.UserRoleID;
            if (string.IsNullOrEmpty(command))
            {
                if (model.UserID > 0)
                {
                    objctUser = objDBContent.Users.Where(x => x.UserID == model.UserID).FirstOrDefault();
                }

                model.DepartmentUsersList = GetDepartments();


                var UserNameCount = objDBContent.Users.Where(x => x.UserNameTxt.ToLower().Trim() == model.UserNameTxt.ToLower().Trim() && x.UserID != model.UserID).Count();
                if (UserNameCount > 0)
                {
                    var selectedDepts = objContext.UserDepartments.Where(m => m.UserID == model.UserID).Select(m => m.DepartmentID).ToArray();
                    model.SelectedDepartment = Array.ConvertAll <long, string>(selectedDepts,
                                                                               delegate(long i)
                    {
                        return(i.ToString());
                    });

                    ModelState.AddModelError("UserNameTxt", "Username already exists.");
                    ViewBag.isValid = "0";
                    return(View(model));
                }

                objctUser.FirstNameTxt = model.FirstName;
                objctUser.LastNameTxt  = model.LastName;
                objctUser.UserNameTxt  = model.UserNameTxt;
                objctUser.EmailTxt     = model.Email;
                //  objctUser.PasswordTxt = !string.IsNullOrEmpty(model.Password)? CustomMembershipProvider.GetMd5Hash(model.Password): objctUser.PasswordTxt;
                objctUser.PasswordTxt = (!string.IsNullOrEmpty(model.ChangedPassword) ? CustomMembershipProvider.GetMd5Hash(model.ChangedPassword) :
                                         (!string.IsNullOrEmpty(model.Password) ? CustomMembershipProvider.GetMd5Hash(model.Password) : objctUser.PasswordTxt)
                                         );

                objctUser.StatusInd      = Convert.ToBoolean(fm["IsActiveInd"]);
                objctUser.IsDeletedInd   = false;
                objctUser.CreateDate     = DateTime.Now;
                objctUser.UserCreateDate = model.UserID > 0 ? objctUser.CreateDate : model.UserCreateDate;
                objctUser.CreateByID     = model.UserID > 0 ? objctUser.CreateByID : Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                objctUser.LastModifyByID = Convert.ToInt64(Membership.GetUser().ProviderUserKey);
                objctUser.LastModifyDate = DateTime.Now;
                if (model.UserID == 0)
                {
                    objDBContent.Users.Add(objctUser);
                    var UserID = model.UserID != 0 ? model.UserID : objctUser.UserID;
                    var obj    = new UserRole();
                    obj.UserID = Convert.ToInt32(UserID);
                    obj.RoleID = Convert.ToInt16(model.UserRoleID);
                    objDBContent.UserRoles.Add(obj);
                    objDBContent.SaveChanges();
                }
                else
                {
                    var UserID = model.UserID != 0 ? model.UserID : objctUser.UserID;
                    var obj    = new UserRole();
                    obj        = objDBContent.UserRoles.Where(x => x.UserID == model.UserID).FirstOrDefault();
                    obj.RoleID = Convert.ToInt16(model.UserRoleID);
                }
                try
                {
                    objDBContent.SaveChanges();
                    var newUserID = objctUser.UserID;

                    #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   = "Users";
                    objSCL.LogTypeTxt  = model.UserID > 0 ? "Update" : "Add";
                    objSCL.NotesTxt    = "User Details" + (objctUser.UserID > 0 ? " updated for " : "  added for ") + objctUser.FirstNameTxt + " " + objctUser.LastNameTxt;
                    objSCL.LogDateTime = DateTime.Now;
                    objContext.SystemChangeLogs.Add(objSCL);
                    objContext.SaveChanges();

                    objSCL = objContext.SystemChangeLogs.OrderByDescending(x => x.ChangeLogID).FirstOrDefault();
                    var newResult = (from x in objContext.Users
                                     where x.UserID == newUserID
                                     select x);
                    DataTable dtNew = Models.Common.LINQResultToDataTable(newResult);
                    foreach (DataColumn col in dtNew.Columns)
                    {
                        if (dtOld.Rows.Count > 0)
                        {
                            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();
                            }
                        }
                    }
                    #endregion

                    #region Save Department Users
                    if (model.UserRoleID == 3)
                    {
                        var objUserDept = objContext.UserDepartments.Where(x => x.UserID == objctUser.UserID).ToList();
                        if (objUserDept.Count > 0)
                        {
                            foreach (var s in objUserDept)
                            {
                                objContext.UserDepartments.Remove(s);
                                objContext.SaveChanges();
                            }
                        }

                        if (model.SelectedDepartment != null)
                        {
                            foreach (var list in model.SelectedDepartment)
                            {
                                UserDepartment objUserDepartment = new UserDepartment();
                                objUserDepartment.DepartmentID = Convert.ToInt64(list);
                                objUserDepartment.UserID       = model.UserID;
                                objUserDepartment.CreateDate   = DateTime.Now;
                                objContext.UserDepartments.Add(objUserDepartment);
                                objContext.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        var objUserDept = objContext.UserDepartments.Where(x => x.UserID == objctUser.UserID).ToList();
                        if (objUserDept.Count > 0)
                        {
                            foreach (var s in objUserDept)
                            {
                                objContext.UserDepartments.Remove(s);
                                objContext.SaveChanges();
                            }
                        }

                        var objUserPermissions = objContext.UserPermissions.Where(x => x.UserID == objctUser.UserID).ToList();
                        if (objUserPermissions != null && objUserPermissions.Count > 0)
                        {
                            foreach (var up in objUserPermissions)
                            {
                                objContext.UserPermissions.Remove(up);
                            }
                            objContext.SaveChanges();
                        }
                    }
                    #endregion

                    TempData["AlertMessage"] = "User details " + ((objctUser.UserID == 0) ? "saved" : "updated") + " successfully.";
                }
                catch (Exception ex)
                {
                    TempData["AlertMessage"] = "Some error occured. Please try after some time.";
                }
            }
            return(RedirectToAction("Index", "UsersManagement", rvd));
        }