public DataServiceMessage <string> GetLoggedInBookmakersPhoneNumber() { string message = ""; bool success = true; string phoneNumber = null; string login = session.CurrentUserLogin; try { int id = unitOfWork.Users.GetIdByLogin(login); BookmakerEntity bookmakerEntity = unitOfWork.Bookmakers.Get(id); if (bookmakerEntity != null) { phoneNumber = bookmakerEntity.PhoneNumber; message = "Got phone number"; } else { message = "Bookmaker not found"; success = false; } } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } return(new DataServiceMessage <string>(phoneNumber, message, success)); }
public ServiceMessage Update(BookmakerEditDTO bookmakerEditDTO, string login) { string message = ""; bool success = true; if (success = Validate(bookmakerEditDTO, ref message)) { try { int id = unitOfWork.Users.GetIdByLogin(login); BookmakerEntity bookmakerEntity = unitOfWork.Bookmakers.Get(id); bookmakerEntity.FirstName = bookmakerEditDTO.FirstName; bookmakerEntity.LastName = bookmakerEditDTO.LastName; bookmakerEntity.PhoneNumber = bookmakerEditDTO.PhoneNumber; unitOfWork.Commit(); message = "Edited bookmaker's info"; } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }
public ServiceMessage Delete(string login) { string message = ""; bool success = true; try { UserEntity userEntity = unitOfWork.Users.GetUserByLogin(login); if (userEntity != null) { int id = userEntity.Id; BookmakerEntity bookmakerEntity = unitOfWork.Bookmakers.Get(id); bookmakerEntity.IsDeleted = true; unitOfWork.Users.Remove(userEntity); unitOfWork.Accounts.DeleteBookmakerRole(login); unitOfWork.Commit(); message = String.Format("Successfully deleted user '{0}'", login); } else { message = String.Format("User with login '{0}' was not found", login); success = false; } } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } return(new ServiceMessage(message, success)); }
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 ServiceMessage Create(BetCreateDTO betCreateDTO) { string message = ""; bool success = true; string sportName = betCreateDTO.SportName; string tournamentName = betCreateDTO.TournamentName; DateTime dateOfEvent = betCreateDTO.DateOfEvent; List <ParticipantBaseDTO> participants = betCreateDTO.EventParticipants; string coefficientDescription = betCreateDTO.CoefficientDescription; decimal sum = betCreateDTO.Sum; string clientPhoneNumber = betCreateDTO.ClientPhoneNumber; string bookmakerPhoneNumber = betCreateDTO.BookmakerPhoneNumber; if (success = ValidateBase(betCreateDTO, ref message) && Validate(betCreateDTO, ref message)) { try { IEnumerable <ParticipantEntity> participantEntities = participants .Select(p => unitOfWork.Participants.Get(p.Name, p.SportName, p.CountryName)); EventEntity eventEntity = unitOfWork .Events .Get(sportName, tournamentName, dateOfEvent, participantEntities); CoefficientEntity coefficientEntity = unitOfWork .Coefficients .Get(eventEntity.Id, coefficientDescription); if (coefficientEntity != null) { bool exists = unitOfWork.Bets.Exists(coefficientEntity.Id, clientPhoneNumber); if (!exists) { ClientEntity clientEntity = unitOfWork .Clients .Get(clientPhoneNumber); BookmakerEntity bookmakerEntity = unitOfWork .Bookmakers .Get(bookmakerPhoneNumber); BetEntity betEntity = new BetEntity { ClientId = clientEntity.Id, BookmakerId = bookmakerEntity.Id, CoefficientId = coefficientEntity.Id, RegistrationDate = DateTime.Now, Sum = sum }; unitOfWork.Bets.Add(betEntity); unitOfWork.Commit(); message = "Created new bet"; } else { message = "Such bet already exists"; success = false; } } else { message = "Such coefficient was not found"; success = false; } } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }