Пример #1
0
        public async Task <IHttpActionResult> PostUserRoleMap(UserRoleMapRequest item)
        {
            try
            {
                ValidationUtilities.ValidateForUserRoleMap(item);
                string currentUserEmail = HttpUtilities.GetUserNameFromToken(this.Request);
                Mapper.Initialize(cfg => cfg.CreateMap <UserRoleMapRequest, UserRoleMap>().ForMember(i => i.CreatedBy,
                                                                                                     j => j.UseValue(currentUserEmail)));
                var userRoleMap = Mapper.Map <UserRoleMapRequest, UserRoleMap>(item);
                userRoleMap.Id = Guid.NewGuid().ToString();
                UserRoleMap current = await InsertAsync(userRoleMap);

                return(CreatedAtRoute("Tables", new { id = current.Id }, current));
            }
            catch (HttpResponseException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                HttpUtilities.ServerError(ex, Request);
                return(null);
            }
        }
Пример #2
0
        /// <summary>
        /// Validation for the User Role Mapping
        /// </summary>
        public static void ValidateForUserRoleMap(UserRoleMapRequest request)
        {
            var dbRole = dbContext.Roles.FirstOrDefault(item => item.Id == request.RoleId);

            if (dbRole == null)
            {
                var response = HttpUtilities.FrameHTTPResp(System.Net.HttpStatusCode.BadRequest, ErrorCodes.ROLE_DOES_NOT_EXISTS);
                throw new HttpResponseException(response);
            }
            var dbUser = dbContext.Users.FirstOrDefault(item => item.Id == request.UserId);

            if (dbUser == null)
            {
                var response = HttpUtilities.FrameHTTPResp(System.Net.HttpStatusCode.BadRequest, ErrorCodes.USER_DOES_NOT_EXISTS);
                throw new HttpResponseException(response);
            }
            var dbUserRoleMap = dbContext.UserRoleMaps.FirstOrDefault(item => item.RoleId == request.RoleId && item.UserId == request.UserId && !item.Deleted);

            if (dbUserRoleMap != null)
            {
                var response = HttpUtilities.FrameHTTPResp(System.Net.HttpStatusCode.BadRequest, ErrorCodes.USER_ROLE_MAP_EXISTS);
                throw new HttpResponseException(response);
            }
        }