public UIElement GetRegisterElement() { BookmakerRegisterViewModel viewModel = new BookmakerRegisterViewModel(new BookmakerRegisterModel()); RegisterBookmakerControl control = new RegisterBookmakerControl(viewModel); viewModel.BookmakerCreated += (s, ea) => { BookmakerRegisterModel bookmaker = ea.Bookmaker; BookmakerRegisterDTO bookmakerDTO = Mapper.Map <BookmakerRegisterModel, BookmakerRegisterDTO>(bookmaker); using (IAccountService service = factory.CreateAccountService()) { ServiceMessage serviceMessage = service.Register(bookmakerDTO); RaiseReceivedMessageEvent(serviceMessage.IsSuccessful, serviceMessage.Message); if (serviceMessage.IsSuccessful) { viewModel.FirstName = String.Empty; viewModel.LastName = String.Empty; viewModel.PhoneNumber = String.Empty; viewModel.Login = String.Empty; viewModel.Password = String.Empty; viewModel.ConfirmPassword = String.Empty; Notify(); } } }; return(control); }
private bool Validate(BookmakerRegisterDTO bookmakerRegisterDTO, ref string message) { bool isValid = true; if (String.IsNullOrEmpty(bookmakerRegisterDTO.LastName)) { message = "Last name must not be empty"; isValid = false; } else if (String.IsNullOrEmpty(bookmakerRegisterDTO.FirstName)) { message = "First name must not be empty"; isValid = false; } else if (String.IsNullOrEmpty(bookmakerRegisterDTO.PhoneNumber)) { message = "Phone number name must not be empty"; isValid = false; } return(isValid); }
public override ServiceMessage Register(BookmakerRegisterDTO bookmakerRegisterDTO) { string message = ""; bool success = true; if (!Validate(bookmakerRegisterDTO, ref message)) { success = false; } else if (!registerValidator.Validate(bookmakerRegisterDTO, ref message)) { success = false; } else { string hashedPassword = encryptor.Encrypt(bookmakerRegisterDTO.Password); try { IEnumerable <string> logins = unitOfWork.Users.GetAll().Select(user => user.Login); if (!logins.Contains(bookmakerRegisterDTO.Login)) { bool phoneNumberExists = unitOfWork.Bookmakers.GetAll().Any(b => b.PhoneNumber == bookmakerRegisterDTO.PhoneNumber); if (!phoneNumberExists) { unitOfWork.Accounts.RegisterBookmakerRole(bookmakerRegisterDTO.Login, hashedPassword); UserEntity userEntity = new UserEntity { Login = bookmakerRegisterDTO.Login, Role = unitOfWork.Roles.Get(RolesCodes.BookmakerRole) }; unitOfWork.Users.Add(userEntity); unitOfWork.Commit(); BookmakerEntity bookmakerEntity = new BookmakerEntity { Id = userEntity.Id, FirstName = bookmakerRegisterDTO.FirstName, LastName = bookmakerRegisterDTO.LastName, PhoneNumber = bookmakerRegisterDTO.PhoneNumber }; unitOfWork.Bookmakers.Add(bookmakerEntity); unitOfWork.Commit(); message = "Registered new bookmaker"; } else { success = false; message = "Such phone number already exists. Try another one"; } } else { success = false; message = "Such login already exists. Try another one"; } } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }
public virtual ServiceMessage Register(BookmakerRegisterDTO bookmakerRegisterDTO) { return(new ServiceMessage("No permissions to register bookmaker", false)); }