public ActionResult Report(ReportMOD model)
        {
            try{
                DSRCManagementSystemEntities1 objdb = new DSRCManagementSystemEntities1();
                var Name      = model.Name.Trim();
                var checkname = objdb.CustomReports.Where(x => x.ReportName == Name && x.IsActive == true).Select(o => o.ReportID).FirstOrDefault();
                if (checkname != 0)
                {
                    return(Json("Warning", JsonRequestBehavior.AllowGet));
                }
                var Desc = "";
                if (model.Description != null)
                {
                    Desc = model.Description.Trim();
                }


                var sp         = model.sp;
                var userId     = (int)Session["UserId"];
                var ReturnDate = System.DateTime.Now;
                var roles      = model.roles.Split(',');
                var Parameter  = model.Parameter;
                DSRCManagementSystemEntities1 db = new DSRCManagementSystemEntities1();
                var Assignobj = objdb.CustomReports.CreateObject();
                Assignobj.ReportName        = Name;
                Assignobj.ReportDescription = Desc;
                Assignobj.ReportQuery       = sp;
                Assignobj.CreatedBy         = Convert.ToString(userId);
                Assignobj.CreatedDate       = ReturnDate;
                Assignobj.IsActive          = true;
                objdb.CustomReports.AddObject(Assignobj);
                objdb.SaveChanges();
                model.ReportID = Assignobj.ReportID;
                var roles1 = model.roles.Split(',');
                foreach (string userID in roles1)
                {
                    var Function = objdb.CustomReports_UserMapping.CreateObject();
                    Function.ReportID = model.ReportID;
                    Function.RoleID   = Convert.ToInt32(userID);
                    objdb.CustomReports_UserMapping.AddObject(Function);
                    objdb.SaveChanges();
                }
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(Json("Success", JsonRequestBehavior.AllowGet));
        }
        public ActionResult EditRoll(ReportMOD model)
        {
            try
            {
                DSRCManagementSystemEntities1 objdb = new DSRCManagementSystemEntities1();
                var Name   = model.Name.Trim();
                int Report = int.Parse(Session["ReportID"].ToString());



                var data = objdb.CustomReports.Where(x => x.IsActive == true && x.ReportID != Report).Select(o => o.ReportName);

                foreach (var check in data)
                {
                    if (check.ToLower() == Name.ToLower())
                    {
                        return(Json("Warning", JsonRequestBehavior.AllowGet));
                    }
                }
                var checkname = objdb.CustomReports.Where(x => x.ReportName == Name && x.IsActive == true && x.ReportID != Report).Select(o => o.ReportID).FirstOrDefault();
                if (checkname != 0)
                {
                    return(Json("Warning", JsonRequestBehavior.AllowGet));
                }

                var Desc = "";
                if (model.Description != null)
                {
                    Desc = model.Description.Trim();
                }



                var Role = objdb.CustomReports_UserMapping.Where(x => x.ReportID == Report).Select(o => o.RoleID).ToList();



                var sp         = model.sp;
                var ReportID   = (int)Session["UserId"];
                var ReturnDate = System.DateTime.Now;
                var roles      = model.roles.Split(',');
                var Parameter  = model.Parameter;
                DSRCManagementSystemEntities1 db = new DSRCManagementSystemEntities1();

                var Editroll = db.CustomReports.Where(q => q.ReportID == Report).Select(r => r).FirstOrDefault();
                Editroll.ReportID = Report;

                Editroll.ReportName        = model.Name;
                Editroll.ReportDescription = model.Description;
                Editroll.ReportQuery       = model.sp;
                Editroll.CreatedBy         = Convert.ToString(Report);
                Editroll.IsActive          = true;
                db.SaveChanges();


                var roles1 = model.roles.Split(',');
                foreach (string userID in roles1)
                {
                    //var Function = objdb.CustomReports_UserMapping.CreateObject();
                    var Function = db.CustomReports_UserMapping.Where(q => q.ReportID == Report).Select(r => r).FirstOrDefault();
                    Function.ReportID = Report;
                    Function.RoleID   = Convert.ToInt32(userID);

                    db.SaveChanges();
                }
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(Json("Success", JsonRequestBehavior.AllowGet));
        }
        public ActionResult EditRoll(int ReportID)
        {
            var ReportDetails = new ReportMOD();
            List <DSRCManagementSystem.Models.ReportMOD> objmodel = new List <Models.ReportMOD>();

            try
            {
                DSRCManagementSystemEntities1 objdb = new DSRCManagementSystemEntities1();
                var Role = objdb.CustomReports_UserMapping.Where(x => x.ReportID == ReportID).Select(o => o.RoleID).ToList();
                ViewBag.Role = Role;

                var categories = objdb.Master_Roles.Select(c => new
                {
                    CategoryID   = c.RoleID,
                    CategoryName = c.RoleName
                }).ToList();
                ViewBag.Categories = new MultiSelectList(categories, "CategoryID", "CategoryName", Role);

                Session["ReportID"] = ReportID;

                //var RoleName=objdb.Master_Roles.Where(o=>o.RoleID==Role


                //var Role = (from u in objdb.CustomReports_UserMapping
                //            where u.ReportID == ReportID
                //            select new
                //            {
                //                u.RoleID
                //            }).FirstOrDefault();



                ReportDetails = (from u in objdb.CustomReports
                                 where u.ReportID == ReportID
                                 select new ReportMOD
                {
                    rollid = u.ReportID,
                    Name = u.ReportName,
                    Description = u.ReportDescription,
                    sp = u.ReportQuery,
                }).FirstOrDefault();



                string        constr = ConfigurationManager.AppSettings["connstr"];
                DataTable     dt     = new DataTable();
                SqlConnection objcon = new SqlConnection(constr);
                SqlCommand    cmd    = new SqlCommand("Sp_Names", objcon);
                cmd.CommandText = "Sp_Names";
                cmd.CommandType = CommandType.StoredProcedure;
                SqlDataAdapter adap = new SqlDataAdapter(cmd);
                adap.Fill(dt);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DSRCManagementSystem.Models.ReportMOD obj = new DSRCManagementSystem.Models.ReportMOD();
                    obj.Name = dt.Rows[i]["SP"].ToString();
                    objmodel.Add(obj);
                }
                SelectList list = new SelectList(objmodel, "Name", "Name");
                list.OrderBy(a => a);
                ViewBag.Roles = list;
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(View(ReportDetails));
        }