public async Task <(User, bool, string)> CreateAsync(CretaeUserDto cretaeUserDto)
        {
            try
            {
                Hash   hash           = new Hash();
                string hashedPassword = hash.GenerateSha256Hash(cretaeUserDto.Password);
                hashedPassword = hashedPassword.Replace("-", string.Empty).Substring(0, 16);
                //cretaeUserDto.Password = hashedPassword;
                //cretaeUserDto.StateName = await dataContext.states.FirstOrDefaultAsync(x => x.Id == cretaeUserDto.StateId && x.StateName== cretaeUserDto.StateName) ;
                using (var ms = new MemoryStream())
                {
                    cretaeUserDto.file.CopyTo(ms);
                    var fileBytes = ms.ToArray();

                    //data:image/jpeg;base64
                    string s = Convert.ToBase64String(fileBytes);

                    string image = $"data:{cretaeUserDto.file.ContentType};base64,{s}";
                    // act on the Base64 data
                    cretaeUserDto.Image1 = image;
                }
                var data = await dataContext.users.SingleOrDefaultAsync(x => x.Email == cretaeUserDto.Email);

                if (data != null)
                {
                    return(null, false, "Email Address Already Exists.");
                }

                var data1 = imapper.Map <User>(cretaeUserDto);
                data1.Password = hashedPassword;

                await dataContext.AddAsync(data1);

                await dataContext.SaveChangesAsync();

                return(data1, true, "Successfully Created");
            }
            catch (Exception ex)
            {
                return(null, false, "Failed to Create");
            }
        }
Exemple #2
0
        public async Task <(bool, string)> CreateAsync(CretaeUserDto cretaeUserDto)
        {
            // logger.Information("create");

            // data1.isVerified = true;
            cretaeUserDto.isVerified = false;

            var(data, success, message) = await userRepository.CreateAsync(cretaeUserDto);

            if (data != null)
            {
                MailRequest mailRequest = new MailRequest()
                {
                    ToEmail = cretaeUserDto.Email,
                    Subject = "welcome"
                };
                await SendEmailAsync(mailRequest, data.Guid.ToString());

                return(true, message);
            }

            return(false, message);
        }
        public async Task <(bool, string)> CreateAsync([FromForm] CretaeUserDto userDto)
        {
            //var postedFile = Request.Form.Files[0];


            //foreach (var file in postedFile)
            //{
            //    if (file.Length > 0)
            //    {
            //        using (var ms = new MemoryStream())
            //        {
            //            file.CopyTo(ms);
            //            var fileBytes = ms.ToArray();
            //            userDto.Image1= Convert.ToBase64String(fileBytes);
            //            // act on the Base64 data
            //        }
            //    }
            //}

            ////Create custom filename
            //var imageName = new String(Path.GetFileNameWithoutExtension(postedFile.FileName).Take(10).ToArray()).Replace(" ", "-");
            //imageName = imageName + DateTime.Now.ToString("yymmdd") + Path.GetExtension(postedFile.FileName);
            //using (var ms = new MemoryStream())
            //{
            //    userDto.Image1.CopyTo(ms);
            //    var fileBytes = ms.ToArray();

            //    //data:image/jpeg;base64
            //    string s = Convert.ToBase64String(fileBytes);

            //    string image=$"data:image/jpeg;base64{s}";
            //    // act on the Base64 data
            //}

            logger.LogInformation("create", userDto);
            return(await userService.CreateAsync(userDto));
        }