コード例 #1
0
 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));
 }
コード例 #2
0
 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));
 }
コード例 #3
0
        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));
        }