Beispiel #1
0
        public UserDto Authenticate(string email, string password)
        {
            var repo        = _contextManager.CreateRepositiry <IUserRepo>();
            var userByEmail = repo.GetUserByEmail(email);

            if (!(userByEmail == null))
            {
                if (userByEmail.isSocialNetworks)
                {
                    throw new ValidationException("You have already registered via Social Networks");
                }
            }

            var user = repo.GetUserByEmailPassword(email, password);

            if (user == null)
            {
                throw new ValidationException("Incorrect Username/Password combination");
            }

            if (!user.IsVerified)
            {
                throw new ValidationException("Email not verified");
            }

            var result = MapToDto(user);

            return(result);
        }
Beispiel #2
0
        public IEnumerable <EventDto> GetAllEvents()
        {
            var repo = _contextManager.CreateRepositiry <IEventRepo>();
            var data = repo.GetAll();

            return(data.Select(x => _mapper.Map <EventDto>(x)).ToList());
        }
        public UserDto GetUser(string email)
        {
            var repo   = _contextManager.CreateRepositiry <IUserRepo>();
            var user   = repo.GetUserByEmail(email);
            var result = _mapper.Map <UserDto>(user);

            return(result);
        }
        public void CheckSubscription(int companyId)
        {
            try
            {
                var repoSub = _contextManager.CreateRepositiry <ICompanySubRepo>();
                var sub     = repoSub.GetStatusOfSubscription(companyId);

                if (!sub)
                {
                    throw new ValidationException("Company subscription is finished.");
                }
            }
            catch
            {
                throw new ValidationException("Company subscription is finished.");
            }
        }
Beispiel #5
0
        public async Task SubscriptionEmail()
        {
            var repo           = _contextManager.CreateRepositiry <ICompanySubRepo>();
            var listCompanySub = repo.GetListOfExpiringSubs();

            foreach (var oneCompSub in listCompanySub)
            {
                var generateEmail = new GenerateEmailDto
                {
                    UrlAdress     = _urlAdress + "/company/" + oneCompSub.CompanyId,
                    EmailMainText = "Your subscription to " + oneCompSub.Company.Name + " will expire in 5 days",
                    ObjectId      = 0,
                    Subject       = "Sudscription"
                };

                var emailModel = _generateEmailWrapper.GenerateEmail(generateEmail, oneCompSub.User);
                _emailWrapper.SendEmail(emailModel);
            }
        }
Beispiel #6
0
/*        [TestMethod]
 *      public void GetAll()
 *      {
 *
 *          var repo = _contexManager.CreateRepositiry<ICompanyRepo>();
 *          var c = repo.GetAll();
 *          c.First().Name = "aaa";
 *
 *      }*/

        public void GetOne()
        {
            var repo = _contexManager.CreateRepositiry <ICompanyRepo>();

            repo.GetAll();
        }
Beispiel #7
0
        public string AcceptInvitation(int EventId, string Email)
        {
            var repoEvent    = _contextManager.CreateRepositiry <IEventRepo>();
            var companyEvent = repoEvent.GetById(EventId);

            _subscriptionService.CheckSubscription(companyEvent.CompanyId);

            if (companyEvent == null)
            {
                throw new ValidationException("Event not found.");
            }

            var repoUser = _contextManager.CreateRepositiry <IUserRepo>();
            var user     = repoUser.GetUserByEmail(Email);

            if (user == null)
            {
                throw new ValidationException("User not found.");
            }

            var repoEventUser = _contextManager.CreateRepositiry <IEventUserLinkRepo>();
            var eventUser     = repoEventUser.GetRecordByEventAndUser(user.Id, EventId);

            if (!(eventUser == null))
            {
                throw new ValidationException("User is already added to the event.");
            }

            var entity = new EventUserLink
            {
                EventId       = EventId,
                UserId        = user.Id,
                UserEventRole = (int)Model.Enums.EventUserRoleEnum.User
            };

            repoEventUser.Add(entity);

            _contextManager.Save();

            SendEventTicket(companyEvent, user);

            return("You successfully join the Event, the ticket send to your email");
        }
        public CompanyDto GetCompany(int companyId, int userId = 0)
        {
            try
            {
                var repo   = _contextManager.CreateRepositiry <ICompanyRepo>();
                var comp   = repo.GetById(companyId);
                var result = _mapper.Map <CompanyDto>(comp);

                var repoUserCompanies = _contextManager.CreateRepositiry <ICompanyUserLinkRepo>();
                result.UserRole = repoUserCompanies.GetUserRole(userId, companyId);

                if (result.Type == (int)Model.Enums.CompanyTypes.Private && result.UserRole == 0)
                {
                    throw new ValidationException("Can't show the company");
                }

                return(result);
            }
            catch
            {
                throw new ValidationException("Can't show company");
            }
        }