public static UserDTO MapToUserDTO(RegisterDoctorVM doctorVM) { return(new MapperConfiguration(cfg => cfg.CreateMap <RegisterDoctorVM, UserDTO>() .ForMember(dest => dest.Login, opt => opt.MapFrom(src => src.Login)) .ForMember(dest => dest.Password, opt => opt.MapFrom(src => src.Password)) .ForMember(dest => dest.UserId, opt => opt.MapFrom(src => src.UserId)) .ForMember(dest => dest.RoleId, opt => opt.MapFrom(src => src.RoleId)) ).CreateMapper().Map <RegisterDoctorVM, UserDTO>(doctorVM)); }
public static DoctorDTO MapToDoctorDTO(RegisterDoctorVM doctorVM) { return(new MapperConfiguration(cfg => cfg.CreateMap <RegisterDoctorVM, DoctorDTO>() .ForMember(dest => dest.FirstName, opt => opt.MapFrom(src => src.FirstName)) .ForMember(dest => dest.LastName, opt => opt.MapFrom(src => src.LastName)) .ForMember(dest => dest.Patronymic, opt => opt.MapFrom(src => src.Patronymic)) .ForMember(dest => dest.PhoneNumber, opt => opt.MapFrom(src => src.PhoneNumber)) .ForMember(dest => dest.Speciality, opt => opt.MapFrom(src => src.Speciality)) .ForMember(dest => dest.UserId, opt => opt.MapFrom(src => src.UserId)) ).CreateMapper().Map <RegisterDoctorVM, DoctorDTO>(doctorVM)); }
public ActionResult RegisterDoctor(RegisterDoctorVM model) { if (ModelState.IsValid) { UserDTO user = userService.GetUsers().FirstOrDefault(u => u.Login == model.Login && u.Password == model.Password); if (user == null) { model.RoleId = 1; userService.AddUser(MapperUtilVM.MapToUserDTO(model)); // проверяем если пользователь удачно добавлен в бд var newUser = userService.GetUsers().FirstOrDefault(u => u.Login == model.Login && u.Password == model.Password); if (newUser != null) { try { model.UserId = newUser.UserId; doctorService.AddDoctor(MapperUtilVM.MapToDoctorDTO(model)); Session["Login"] = newUser.Login; Session["Id"] = newUser.UserId; Session["Role"] = "Doctor"; Session["DoctorId"] = doctorService.GetDoctors().FirstOrDefault(id => id.UserId == newUser.UserId).DoctorId; FormsAuthentication.SetAuthCookie(model.Login, true); return(RedirectToAction("ListDoctors", "Home")); } catch (Exception ex) { ModelState.AddModelError("", "Ошибка регистрации врача: " + ex.Message); } } } else { ModelState.AddModelError("", "Пользователь с таким логином уже существует"); } } return(View(model)); }