public async Task <IActionResult> NewTrainee(NewTraineeViewModel model) { model.DateOfBirth = DateTime.ParseExact(model.StrDateOfBirth, "dd/MM/yyyy", CultureInfo.InvariantCulture); var trainer = await _userManager.GetUserAsync(User); var user = new ApplicationUser { UserName = model.Email, Email = model.Email, Name = model.Name, Surname = model.Surname, PhoneNumber = model.Phone, City = model.City, GymId = trainer.GymId }; if (model.Image != null && model.Image.Length > 0) { using (var memoryStream = new MemoryStream()) { await model.Image.CopyToAsync(memoryStream); user.Image = memoryStream.ToArray(); } } var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl); Trainee trainee = new Trainee { Birthday = model.DateOfBirth, EntryDate = DateTime.Today, Gender = model.Gender, TrainerId = trainer.Id, TraineeId = _traineeRepository.GetUserId(model.Email, model.Name, model.Surname) }; _traineeRepository.CreateTrainee(trainee); TraineeMeasurements traineeMeasurements = new TraineeMeasurements { Weight = model.Weight, Height = model.Height, FatRatio = model.FatRatio, Date = DateTime.Today, TraineeId = _traineeRepository.GetUserId(model.Email, model.Name, model.Surname) }; _traineeMeasurementsRepository.CreateTraineeMeasurements(traineeMeasurements); return(RedirectToAction("Trainees", "Home")); } return(View(model)); }