public async Task <IHttpActionResult> PostRole(RoleRequest item) { try { string currentUserEmail = HttpUtilities.GetUserNameFromToken(this.Request); string message = ValidationUtilities.ValidateRole(item); if (string.IsNullOrEmpty(message)) { Mapper.Initialize(cfg => cfg.CreateMap <RoleRequest, Role>() .ForMember(i => i.CreatedBy, j => j.UseValue(currentUserEmail)) ); var RoleMap = Mapper.Map <RoleRequest, Role>(item); RoleMap.Id = Guid.NewGuid().ToString(); Role current = await InsertAsync(RoleMap); return(CreatedAtRoute("Tables", new { id = current.Id }, current)); } else { return(BadRequest(message)); } } catch (Exception ex) { HttpUtilities.ServerError(ex, Request); return(null); } }