예제 #1
0
        public ApiBadRequestResponse(ModelStateDictionary modelState) : base(400)
        {
            Errors = new List <Error>();
            DataLayerContext       dlContext = new DataLayerContext();
            ErrorMessageRepository errorMessageRepository = new ErrorMessageRepository(dlContext);

            IEnumerable <string> LstError = modelState.SelectMany(x => x.Value.Errors).Select(x => x.ErrorMessage).ToArray();

            foreach (var errorMessage in LstError)
            {
                Error _objError = new Error();

                if (errorMessage.Contains("$$"))
                {
                    string[] strError = errorMessage.Split(new char[] { '$', '$' }, StringSplitOptions.RemoveEmptyEntries);
                    _objError.Code = strError[0];
                    string requiredMessage = errorMessageRepository.GetByCode(strError[0]);
                    if (requiredMessage.Contains("$$InputData$$"))
                    {
                        requiredMessage = requiredMessage.Replace("$$InputData$$", strError[1]);
                    }
                    _objError.Message = requiredMessage;
                    Errors.Add(_objError);
                }
                else
                {
                    string dbMessage = errorMessageRepository.GetByCode(errorMessage);
                    _objError.Code    = errorMessage;
                    _objError.Message = dbMessage;
                    Errors.Add(_objError);
                }
            }
        }
예제 #2
0
            protected override ValidationResult IsValid(object value, ValidationContext validationContext)
            {
                if (value != null && value != "")
                {
                    var model = (RoleUpdateRequestViewModel)validationContext.ObjectInstance;

                    if (!string.IsNullOrEmpty(model.rolename))
                    {
                        int    roleId   = model.roleid;
                        string roleName = Convert.ToString(model.rolename);
                        try
                        {
                            DataLayerContext dlContext      = new DataLayerContext();
                            RoleRepository   roleRepository = new RoleRepository(dlContext);
                            bool             actualresult   = roleRepository.ValidateRoleName(roleId, roleName);
                            if (actualresult)
                            {
                                return(ValidationResult.Success);
                            }
                            else
                            {
                                return(new ValidationResult("130"));
                            }
                        }
                        catch (Exception ex)
                        {
                            // return new ValidationResult("2020$$areaname");
                        }
                    }
                }
                return(ValidationResult.Success);
            }
예제 #3
0
            public override bool IsValid(object value)
            {
                bool result = true;

                try
                {
                    if (value != null && value != "")
                    {
                        result = false;

                        int roleId = Convert.ToInt32(value);
                        DataLayerContext     dlContext            = new DataLayerContext();
                        PermissionRepository permissionRepository = new PermissionRepository(dlContext);
                        var permissionData = permissionRepository.Find(roleId);
                        if (permissionData != null && permissionData.PermissionId > 0)
                        {
                            result = true;
                        }
                    }
                }
                catch (Exception ex)
                {
                    result = false;
                }
                return(result);
            }
예제 #4
0
        public bool AssignPermissionToRole(int roleId, List <RolePermission> lstPermission)
        {
            bool result = false;

            try
            {
                using (var context = new DataLayerContext())
                {
                    var itemToRemove = context.RolePermissions.Where(x => x.RoleId == roleId).ToList();
                    foreach (RolePermission item in itemToRemove)
                    {
                        context.RolePermissions.Remove(item);
                        context.SaveChanges();
                    }

                    for (int per = 0; per < lstPermission.Count; per++)
                    {
                        context.RolePermissions.Add(lstPermission[per]);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                result = false;
            }
            return(result);
        }
예제 #5
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string                 email                  = string.Empty;
            bool                   isValid                = false;
            ApiResponse            _objResponse           = new ApiResponse();
            DataLayerContext       dl                     = new DataLayerContext();
            ErrorMessageRepository errorMessageRepository = new ErrorMessageRepository(dl);
            UserRepository         userRepository         = new UserRepository(dl);

            try
            {
                if (!string.IsNullOrEmpty(Permission))
                {
                    var currentUser = filterContext.HttpContext.User;
                    if (currentUser.HasClaim(c => c.Type == ClaimTypes.Email))
                    {
                        email = currentUser.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value;
                    }
                    isValid = userRepository.AuthoriseUserWithPermission(email, Permission);
                }

                if (isValid == false)
                {
                    _objResponse.Message    = errorMessageRepository.GetByCode("131");
                    _objResponse.StatusCode = (int)HttpStatusCode.Forbidden;
                    filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden;
                    string json = JsonConvert.SerializeObject(_objResponse, Formatting.Indented);
                    filterContext.Result = new ContentResult {
                        Content = json
                    };
                }
            }
            catch (Exception ex)
            {
                _objResponse.Message    = errorMessageRepository.GetByCode("501");
                _objResponse.StatusCode = (int)HttpStatusCode.Unauthorized;
                filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                string json = JsonConvert.SerializeObject(_objResponse, Formatting.Indented);
                filterContext.Result = new ContentResult {
                    Content = json
                };
            }
        }
예제 #6
0
            public override bool IsValid(object value)
            {
                bool result = false;

                try
                {
                    long             userId         = Convert.ToInt64(value);
                    DataLayerContext dlContext      = new DataLayerContext();
                    UserRepository   userRepository = new UserRepository(dlContext);
                    var userData = userRepository.Find(userId);
                    if (userData != null && userData.UserId > 0)
                    {
                        result = true;
                    }
                }
                catch (Exception ex)
                {
                    result = false;
                }
                return(result);
            }
 public ErrorMessageRepository(DataLayerContext context)
 {
     _context = context;
 }
예제 #8
0
 public UserRepository(DataLayerContext context)
 {
     _context = context;
 }
예제 #9
0
 public MenuRepository(DataLayerContext context)
 {
     _context = context;
 }
예제 #10
0
 public RoleRepository(DataLayerContext context)
 {
     _context = context;
 }
예제 #11
0
 public PermissionRepository(DataLayerContext context)
 {
     _context = context;
 }
예제 #12
0
 public UserService(DataLayerContext context)
 {
     DataLayerContext = context;
 }