Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 5
0
        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));
        }