public async Task <IActionResult> Register(RegistrationDto model)
        {
            ViewBag.Departments = _context.Departments.Select(x => x.Name);
            if (ModelState.IsValid)
            {
                string photoLink = "";

                if (model.Photo != null)
                {
                    var folderLink = Path.Combine(_webHostEnvironment.WebRootPath, "images");
                    var photoName  = Guid.NewGuid() + "_" + model.Photo.FileName;

                    photoLink = Path.Combine(folderLink, photoName);

                    using (var file = new FileStream(photoLink, FileMode.Create))
                    {
                        model.Photo.CopyTo(file);
                    }
                }
                var data = new ApiRegistrationDto
                {
                    FirstName       = model.FirstName,
                    LastName        = model.LastName,
                    Password        = model.Password,
                    Email           = model.Email,
                    ConfirmPassword = model.ConfirmPassword,
                    PhotoUrl        = photoLink,
                    Department      = model.Department
                };

                var client = new HttpClient();
                HttpRequestMessage message = new HttpRequestMessage();
                message.Method = HttpMethod.Post;
                var    json    = JsonSerializer.Serialize(data);
                var    content = new StringContent(json, Encoding.UTF8, "application/json");
                string url     = "https://localhost:44388/Api/Register";
                message.Content    = content;
                message.RequestUri = new Uri(url);

                var response = await client.SendAsync(message);

                var responsebody = await response.Content.ReadAsStringAsync();

                if (response.IsSuccessStatusCode)
                {
                    return(View("Login"));
                }
            }
            return(View("Register", model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Register(ApiRegistrationDto model)
        {
            if (ModelState.IsValid)
            {
                var employee = new Employee
                {
                    UserName   = model.Email,
                    FirstName  = model.FirstName,
                    LastName   = model.LastName,
                    Email      = model.Email,
                    Photo      = model.PhotoUrl,
                    Department = _context.Departments.FirstOrDefault(x => x.Name == model.Department)
                };
                var result = await _manager.CreateAsync(employee, model.Password);

                var errors = result.Errors;
                if (result.Succeeded)
                {
                    return(Ok());
                }
            }
            return(Ok(model));
        }