Пример #1
0
        public JsonResult SaveAsDashboard(string dashboardId, string userId, string roleId)
        {
            var type = "success";
            var msg  = "Dashboard added successfully";

            try
            {
                using (var context = new WebAppDbContext())
                {
                    UserDashboardMapping model = new UserDashboardMapping()
                    {
                        DashboardId       = dashboardId,
                        UserId            = userId,
                        RoleId            = roleId,
                        IsDefault         = "0",
                        InsertionDateTime = DateTime.Now,
                        InsertedBy        = Session[SessionKeys.UserId].ToString()
                    };

                    context.UserDashboardMappings.Add(model);
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                type = "error";
                msg  = ex.ToString();
            }

            return(Json(new { type = type, msg = msg }, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        private string GetDashboardId(string inUserId)
        {
            string actionName = "GetDashboardId";
            UserDashboardMapping dashboard = null;

            var id = ConfigurationManager.AppSettings["DefaultDashboardId"].ToString();

            _logger.Log(LogLevel.Trace, actionName + " :: started");

            try
            {
                using (var _context = new WebAppDbContext())
                {
                    var sessionDetails = (SessionHelper)Session[SessionKeys.SessionHelperInstance];
                    var dashboards     = _context.UserDashboardMappings.Where(x => x.UserId == inUserId && x.RoleId == sessionDetails.CurrentRoleId);
                    if (dashboards.Any())
                    {
                        dashboard = dashboards.FirstOrDefault(x => x.IsPrefered == "1");

                        if (dashboard == null)
                        {
                            dashboard = dashboards.FirstOrDefault(x => x.IsDefault == "1");
                        }

                        id = dashboard != null ? dashboard.DashboardId : id;
                    }
                    else
                    {
                        _logger.Log(LogLevel.Trace, actionName + " :: No dashboard linked with user.");
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, actionName + " EXCEPTION :: " + ex.ToString() + " INNER EXCEPTION :: " + ex.InnerException?.ToString());
            }
            _logger.Log(LogLevel.Trace, actionName + " :: ended");
            return(id);
        }
Пример #3
0
        public ActionResult Save(string userId, string roleId, string dashboardId, string isDefault, string pageMode)
        {
            var type = "success";
            var msg  = pageMode == PageMode.Add.ToString() ? "Plan added successfully." : "Plan updated successfully.";

            isDefault = String.IsNullOrWhiteSpace(isDefault) ? "0" : isDefault;
            try
            {
                if (!string.IsNullOrWhiteSpace(userId) && !string.IsNullOrWhiteSpace(roleId) && !string.IsNullOrWhiteSpace(dashboardId))
                {
                    using (var context = new WebAppDbContext())
                    {
                        if (roleId == AllRoles)
                        {
                            context.UserDashboardMappings.RemoveRange(context.UserDashboardMappings.Where(x => x.UserId == userId));

                            var roles = GetUserRoles(userId);
                            List <UserDashboardMapping> models = new List <UserDashboardMapping>();
                            foreach (var role in roles)
                            {
                                UserDashboardMapping model = new UserDashboardMapping()
                                {
                                    UserId            = userId,
                                    RoleId            = role.RoleId,
                                    DashboardId       = dashboardId,
                                    InsertedBy        = Session[SessionKeys.UserId].ToString(),
                                    InsertionDateTime = DateTime.Now,
                                    IsDefault         = isDefault
                                };
                                models.Add(model);
                            }

                            context.UserDashboardMappings.AddRange(models);
                            context.SaveChanges();
                        }

                        else
                        {
                            UserDashboardMapping model = null;

                            if (pageMode == PageMode.Add.ToString())
                            {
                                model = new UserDashboardMapping()
                                {
                                    UserId            = userId,
                                    RoleId            = roleId,
                                    DashboardId       = dashboardId,
                                    InsertedBy        = Session[SessionKeys.UserId].ToString(),
                                    InsertionDateTime = DateTime.Now,
                                    IsDefault         = isDefault
                                };

                                context.UserDashboardMappings.Add(model);
                            }
                            else if (pageMode == PageMode.Edit.ToString())
                            {
                                var dashboard = context.UserDashboardMappings.FirstOrDefault(x => x.RoleId == roleId && x.UserId == userId && x.DashboardId == dashboardId);
                                if (dashboard != null)
                                {
                                    dashboard.IsDefault = isDefault;
                                    context.UserDashboardMappings.Attach(dashboard);
                                    context.Entry(dashboard).State = EntityState.Modified;
                                }
                            }

                            if (isDefault == "1")
                            {
                                var previousDefault = context.UserDashboardMappings.FirstOrDefault(x => x.RoleId == roleId && x.UserId == userId && x.IsDefault == "1");
                                if (previousDefault != null)
                                {
                                    if (previousDefault.RoleId != roleId)
                                    {
                                        previousDefault.IsDefault = "0";
                                        context.UserDashboardMappings.Attach(previousDefault);
                                        context.Entry(previousDefault).State = EntityState.Modified;
                                    }
                                }
                            }

                            context.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                type = "error";
                msg  = ex.ToString();
            }

            return(Json(new
            {
                msg = msg,
                type = type
            }, JsonRequestBehavior.AllowGet));
        }