Example #1
0
        //<------------------------------------------------------------------------------------------------------>
        //<------------------------------------------------------------------------------------------------------>


        private async Task <OperationResult <string> > Post(CreateUser item)
        {
            if (!item.ParameterValid())
            {
                return new OperationResult <string>()
                       {
                           Success = false, Message = Messages.PARAMETERS_NOT_NULL
                       }
            }
            ;

            var users = await userRepo.GetAllAsync();

            if (users.Any(elem => elem.email == item.email))
            {
                return new OperationResult <string>()
                       {
                           Success = false, Message = Messages.EMAIL_EXISTS
                       }
            }
            ;

            try
            {
                string img = null;

                if (item.picture == null)
                {
                    img          = (await ImageService.SendToProvider(item.id, ImageService.ImageIdentity.Users, item.profilePicture, ImageService.ImageType.Avatar)).Result;
                    item.picture = img;
                }


                var id = await userRepo.PostAsync(item);

                return(new OperationResult <string>()
                {
                    Success = true, Message = Messages.USER_CREATED, Result = (item.picture != null?item.picture:img)
                });
            }
            catch (Exception ex)
            {
                ImageService.DeleteFolder(item.id, ImageService.ImageIdentity.Users);
                return(new OperationResult <string>()
                {
                    Success = false, Message = ex.Message
                });
            }
        }