Exemplo n.º 1
0
        public void Login(string username, string password)
        {
            var unitOfWork     = UnitOfWorkFactory.CreateUnitOfWork();
            var userRepository = RepositoriesFactory.CreateUserRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();

                var user = userRepository.GetUserByUsername(username);
                if (user.IsSamePassword(password))
                {
                    LoggedInUserId  = user.Id;
                    _isUserLoggedIn = true;
                    unitOfWork.Commit();

                    ShowMainWindow();
                }
                else
                {
                    throw new Exception("Username or password is not correct!");
                }
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                _isUserLoggedIn = false;
                ShowLoginWindow();
                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 2
0
        public void OpenTravelListWindow()
        {
            var unitOfWork     = UnitOfWorkFactory.CreateUnitOfWork();
            var userRepository = RepositoriesFactory.CreateUserRepository(unitOfWork);

            var travelController = new TravelController(this, _formsFactory);

            try
            {
                unitOfWork.BeginTransaction();

                var user    = userRepository.GetUser(LoggedInUserId);
                var travels = new List <Travel>(user.Travels);

                unitOfWork.Commit();

                var travelListView = _formsFactory.CreateTravelListView(travelController, travels);
                travelListView.ShowModaless();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                ShowRegisterWindow();
                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 3
0
        public void LoadDefaultModel()
        {
            if (_defaultModelLoaded != false)
            {
                return;
            }

            var unitOfWork         = UnitOfWorkFactory.CreateUnitOfWork();
            var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();
                currencyRepository.CreateCurrenciesIfNoneExist();

                unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();
                MessageBox.Show(ex.Message, "TravelBuddy");
            }

            _defaultModelLoaded = true;
        }
Exemplo n.º 4
0
        public ClientDto GetById(int id, string userName)
        {
            Logger.LogInformation(String.Format("Try to get client by id {0}", id));

            ClientDto toReturn = null;

            using (var context = RepositoriesFactory.CreateContext())
            {
                var clientRepo = RepositoriesFactory.GetClientRepository(context);

                var client = clientRepo.GetById(id);

                if (client == null || !client.IsValid)
                {
                    throw new DaOAuthNotFoundException();
                }

                // we need to remove scopes from invalid ressources servers
                if (client.ClientsScopes != null && client.ClientsScopes.Count() > 0)
                {
                    var invalidsRs = ExtractInvalidRessourceServerIds(context);

                    client.ClientsScopes = client.ClientsScopes.ToList().Where(cs => !invalidsRs.Contains(cs.Scope.RessourceServerId)).ToList();
                }

                toReturn = client.ToDto(client.UserCreator.UserName.Equals(userName));
            }

            return(toReturn);
        }
Exemplo n.º 5
0
        public void Register(string username, string email, string password)
        {
            var unitOfWork     = UnitOfWorkFactory.CreateUnitOfWork();
            var userRepository = RepositoriesFactory.CreateUserRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();

                var user = new User
                {
                    Username = username,
                    Email    = email,
                };

                user.SetPassword(password);

                userRepository.AddUser(user);
                LoggedInUserId  = user.Id;
                _isUserLoggedIn = true;

                unitOfWork.Commit();

                ShowMainWindow();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                _isUserLoggedIn = false;
                ShowRegisterWindow();
                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 6
0
        public static IServices Create(IServiceDependencies dependencies)
        {
            IRepositories   repositories;
            IServiceContext context;

            if (!dependencies.UseTestRepositories)
            {
                repositories = RepositoriesFactory.Create(dependencies.RepositoriesConfig);
                context      = new ServiceContext(dependencies, repositories);

                // TODO -- Implement Integration Test Repositories/Services
                //if (dependencies.UseIntegrationTestRepositories)
                //{
                //    return new TestServices(context);
                //}
                //else
                //{
                //    return new Implementation.Services(context);
                //}
                return(new Implementation.Services(context));
            }
            else
            {
                // TODO -- Implement Test Repositories/Services
                //repositories = TestRepositoriesFactory.Create();
                //context = new ServiceContext(dependencies, repositories);
                //return new TestServices(context);

                repositories = RepositoriesFactory.Create(dependencies.RepositoriesConfig);
                context      = new ServiceContext(dependencies, repositories);
                return(new Implementation.Services(context));
            }
        }
Exemplo n.º 7
0
        public void FindAndApplyCustomer(uint number, Department department)
        {
            if (department == null)
            {
                throw new Exception("Отделение для поиска не задано");
            }

            var operationName = $"Поиск плательщика за электроэнергию {number}, отделение \"{department.Code} {department.Name}\"";

            Log.Info($"Запуск -> {operationName}");

            var potencialCustomers = RepositoriesFactory.Get <EnergyCustomer>().Filter(customer => customer.Number == number && customer.IsActive);

            Customer.Value = potencialCustomers.FirstOrDefault(customer => customer.Department.Id == department.Id)
                             ?? potencialCustomers.FirstOrDefault(customer => customer.Department.Code == department.Code);

            if (Customer.Value == null)
            {
                Log.Info($"Не найдено -> {operationName}");
            }
            else
            {
                Log.Info($"Найдено -> {operationName}");
            }
        }
Exemplo n.º 8
0
        public void SaveEditedTravel(EditTravelViewModel travelModel)
        {
            var unitOfWork       = UnitOfWorkFactory.CreateUnitOfWork();
            var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();

                var travel = travelRepository.GetTravel(travelModel.Id);

                travel.Name        = travelModel.Name;
                travel.Description = travelModel.Description;
                travel.DateStart   = travelModel.DateStart;
                travel.DateEnd     = travelModel.DateEnd;
                travel.Budget      = travelModel.Budget;

                travelRepository.UpdateTravel(travel);

                unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 9
0
        public void AddTravel(AddTravelViewModel model)
        {
            var unitOfWork       = UnitOfWorkFactory.CreateUnitOfWork();
            var userRepository   = RepositoriesFactory.CreateUserRepository(unitOfWork);
            var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();

                var user = userRepository.GetUser(_mainController.LoggedInUserId);

                var travel = new Travel
                {
                    Name        = model.Name,
                    Description = model.Description,
                    DateStart   = model.DateStart,
                    DateEnd     = model.DateEnd,
                    Budget      = model.Budget,
                    Traveller   = user
                };

                travelRepository.AddTravel(travel);

                unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 10
0
        public void OpenTravelDetails(Guid travelId)
        {
            var unitOfWork       = UnitOfWorkFactory.CreateUnitOfWork();
            var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();

                var travel = travelRepository.GetTravel(travelId);

                var travelModal = new TravelViewModel
                {
                    Id          = travel.Id,
                    Name        = travel.Name,
                    Description = travel.Description,
                    DateStart   = travel.DateStart,
                    DateEnd     = travel.DateEnd,
                    Budget      = travel.Budget
                };

                unitOfWork.Commit();

                var travelDetailsView = _formsFactory.CreateTravelDetailsView(this, travelModal);
                travelDetailsView.ShowModaless();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 11
0
        public void AddPreliminaryActivity(AddPreliminaryActivityViewModel travelItemViewModel, Guid travelId)
        {
            var unitOfWork       = UnitOfWorkFactory.CreateUnitOfWork();
            var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork);

            try
            {
                unitOfWork.BeginTransaction();

                var travel = travelRepository.GetTravel(travelId);
                travel.PreliminaryActivityList.Add(new PreliminaryActivity
                {
                    Name        = travelItemViewModel.Name,
                    Description = travelItemViewModel.Description,
                    IsCompleted = travelItemViewModel.IsCompleted
                });

                travelRepository.UpdateTravel(travel);

                unitOfWork.Commit();
            }
            catch (Exception ex)
            {
                unitOfWork.Rollback();

                MessageBox.Show(ex.Message, "TravelBuddy");
            }
        }
Exemplo n.º 12
0
        public ICollection <ProgramDTO> GetUsersPrograms(ProgramDTO newProgram, String userName)
        {
            ActionResponse response = new ActionResponse();

            ProgramRepository repository = RepositoriesFactory.CreateRepository <ProgramRepository, Program>();

            int UserId = GetCurrentUser().UserId;

            ICollection <Program> wantedPrograms;

            if (GetCurrentUser().Permission == (int)Enums.PermissionsType.Admin)
            {
                wantedPrograms = repository.GetALL();
            }
            else
            {
                wantedPrograms =
                    repository.Query().Where(CurrProgram => CurrProgram.UserPrograms.Any(currUser => currUser.UserId == UserId)).ToList();
            }


            ICollection <ProgramDTO> ProgramDrills =
                wantedPrograms.Select <Program, ProgramDTO>(currProgram => ConvertEntityTODTO(currProgram)).ToList();

            return(ProgramDrills);
        }
Exemplo n.º 13
0
        private string GenerateAndSaveCode(string clientPublicId, string userName, string scope)
        {
            var codeValue = RandomService.GenerateRandomString(CodeLenght);

            using (var context = RepositoriesFactory.CreateContext())
            {
                var userClientRepo = RepositoriesFactory.GetUserClientRepository(context);
                var codeRepo       = RepositoriesFactory.GetCodeRepository(context);

                var uc = userClientRepo.GetUserClientByClientPublicIdAndUserName(clientPublicId, userName);

                codeRepo.Add(new Domain.Code()
                {
                    CodeValue           = codeValue,
                    ExpirationTimeStamp = new DateTimeOffset(DateTime.Now.AddSeconds(Configuration.CodeDurationInSeconds)).ToUnixTimeSeconds(),
                    IsValid             = true,
                    Scope        = scope,
                    UserClientId = uc.Id
                });

                context.Commit();
            }

            return(codeValue);
        }
Exemplo n.º 14
0
        private ActionResponse ValidateDrill(DrillDTO drill, bool isUpdate = false)
        {
            DrillsRepository       repository     = RepositoriesFactory.CreateRepository <DrillsRepository, Drill>();
            MuscleGroupsRepository muscleGroupRep = RepositoriesFactory.CreateRepository <MuscleGroupsRepository, MuscleGroup>();

            if (repository.Query().Any(currDrill => currDrill.DrillId != drill.Id && currDrill.Name == drill.Name))
            {
                return(new ActionResponse()
                {
                    CompletedSuccessfully = false,
                    ErrorMessage = "A drill with the given name already exists"
                });
            }

            bool doAllMuscleGroupsExist = drill.MuscleGroups.All(currNewMuscleGroup => {
                return(muscleGroupRep.Query().Any(CurrMuscleGroup => CurrMuscleGroup.MuscleGroupId == currNewMuscleGroup.Id));
            });

            if (!doAllMuscleGroupsExist)
            {
                return(new ActionResponse()
                {
                    CompletedSuccessfully = false,
                    ErrorMessage = "None existing muscle group"
                });
            }

            return(null);
        }
Exemplo n.º 15
0
        private ActionResponse CanUserEditProgram(int ProgramId)
        {
            Program wantedProgram = RepositoriesFactory.CreateRepository <ProgramRepository, Program>()
                                    .Query().FirstOrDefault(currProgram => currProgram.ProgramId == ProgramId);

            if (wantedProgram == null)
            {
                return(new ActionResponse()
                {
                    ErrorMessage = "Wanted Program does not exists", CompletedSuccessfully = false
                });
            }

            if (!(GetCurrentUser().Permission == (int)Enums.PermissionsType.Admin))
            {
                if (!wantedProgram.UserPrograms.Any(currUserProgram => currUserProgram.UserId == GetCurrentUser().UserId))
                {
                    return(new ActionResponse()
                    {
                        ErrorMessage = "The given user does not have permissions to update the given program", CompletedSuccessfully = false
                    });
                }
            }

            return(null);
        }
Exemplo n.º 16
0
        private ActionResponse CanUserEditDrill(int drillId)
        {
            Drill wantedDrill = RepositoriesFactory.CreateRepository <DrillsRepository, Drill>()
                                .Query().FirstOrDefault(currDrill => currDrill.DrillId == drillId);

            if (wantedDrill == null)
            {
                return(new ActionResponse()
                {
                    ErrorMessage = "Wanted drill does not exists", CompletedSuccessfully = false
                });
            }

            if (!(GetCurrentUser().Permission == (int)Enums.PermissionsType.Admin))
            {
                if (wantedDrill.CreatorUserId != GetCurrentUser().UserId)
                {
                    return(new ActionResponse()
                    {
                        ErrorMessage = "The given user does not have permissions to update the given drill", CompletedSuccessfully = false
                    });
                }
            }

            return(null);
        }
Exemplo n.º 17
0
        public void DeleteReturnUrl(DeleteReturnUrlDto toDelete)
        {
            this.Validate(toDelete);

            var resource = this.GetErrorStringLocalizer();

            using (var context = RepositoriesFactory.CreateContext())
            {
                var returnUrlRepo = RepositoriesFactory.GetClientReturnUrlRepository(context);
                var myReturnUrl   = returnUrlRepo.GetById(toDelete.IdReturnUrl);

                if (myReturnUrl == null)
                {
                    throw new DaOAuthServiceException(resource["DeleteReturnUrlUnknowReturnUrl"]);
                }

                var userRepo = RepositoriesFactory.GetUserRepository(context);
                var user     = userRepo.GetByUserName(toDelete.UserName);
                if (user == null || !user.IsValid)
                {
                    throw new DaOAuthServiceException(resource["DeleteReturnUrlInvalidUser"]);
                }

                var ucRepo = RepositoriesFactory.GetUserClientRepository(context);
                var uc     = ucRepo.GetUserClientByClientPublicIdAndUserName(myReturnUrl.Client.PublicId, toDelete.UserName);
                if (uc == null)
                {
                    throw new DaOAuthServiceException(resource["DeleteReturnUrlBadUserNameOrClientId"]);
                }

                returnUrlRepo.Delete(myReturnUrl);

                context.Commit();
            }
        }
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
            {
                return;
            }

            try
            {
                Region = RepositoriesFactory.Get <Region>().Get(region => region.Id == Config.CurrentRegionId);
                if (Region != null)
                {
                    lblRegionName.Content = Region.Name ?? string.Empty;

                    UpdateDepartments();
                    GlobalEvents.OnDepartmentsChanged += UpdateDepartments;
                }
                else
                {
                    lblRegionName.Content          = "Район не задан";
                    lblRegionName.Foreground       = Brushes.Red;
                    cbDepartmentSelector.IsEnabled = false;
                }
            }
            catch (Exception ex)
            {
                var message = "Ошибка загрузки департаметов.";
                Log.Error(message, ex);
                Message.Error(message);
            }
        }
Exemplo n.º 19
0
        public ActionResult SetState(int id, RentalState?state, bool redirectToIndex = false)
        {
            if (state == null)
            {
                return(BadRequest());
            }

            var renting = this.RepositoriesFactory.Rentings.GetById(id);

            if (renting == null)
            {
                return(NotFound());
            }

            renting.State = state.Value;
            RepositoriesFactory.SaveChanges();

            if (state == RentalState.Canceled)
            {
                var result = this.sender.SendRentingCanceled(renting, this.CurrentUser, this.MicrosoftAccessToken).Result;
            }

            if (redirectToIndex)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(Content("OK"));
        }
Exemplo n.º 20
0
        protected override bool TryUpdateExistingItem(DbfArticle dbfArticle)
        {
            var existingArticle = RepositoriesFactory.Get <Article>().Get(article => article.Code == dbfArticle.Code);

            if (existingArticle == null)
            {
                return(false);
            }

            existingArticle.Name     = dbfArticle.Name ?? string.Empty;
            existingArticle.Barcode  = dbfArticle.Barcode ?? string.Empty;
            existingArticle.IsActive = true;

            var articlePrice = existingArticle.ArticlePrices.FirstOrDefault(price =>
                                                                            price.ArticlePriceType == PriceType && price.EntryDate == dbfArticle.EntryDate);

            if (articlePrice != null)
            {
                articlePrice.Value = dbfArticle.Price;
                return(true);
            }

            var newArticlePrice = new ArticlePrice
            {
                Article          = existingArticle,
                ArticlePriceType = PriceType,
                EntryDate        = dbfArticle.EntryDate,
                Value            = dbfArticle.Price
            };

            existingArticle.ArticlePrices.Add(newArticlePrice);
            return(true);
        }
Exemplo n.º 21
0
        public void DesactivateUser(string userName)
        {
            Logger.LogInformation($"Try to desactivate user {userName}");

            using (var c = RepositoriesFactory.CreateContext())
            {
                var repo  = RepositoriesFactory.GetUserRepository(c);
                var user  = repo.GetByUserName(userName);
                var local = this.GetErrorStringLocalizer();

                if (user == null || !user.IsValid)
                {
                    throw new DaOAuthServiceException(local["DeleteUserNoUserFound"]);
                }

                user.IsValid = false;
                repo.Update(user);

                var ucRepo = RepositoriesFactory.GetUserClientRepository(c);

                foreach (var uc in ucRepo.GetAllByCriterias(user.UserName, null, null, null, 0, Int32.MaxValue))
                {
                    uc.RefreshToken = String.Empty;
                    ucRepo.Update(uc);
                }

                c.Commit();
            }
        }
Exemplo n.º 22
0
        public void SendMailLostPassword(LostPasswordDto infos)
        {
            Logger.LogInformation($"Send a mail password lost to {infos.Email}");

            Validate(infos);

            using (var context = RepositoriesFactory.CreateContext())
            {
                var errorResource = this.GetErrorStringLocalizer();
                var mailResource  = this.GetMailStringLocalizer();
                var userRepo      = RepositoriesFactory.GetUserRepository(context);

                var user = userRepo.GetByEmail(infos.Email);

                if (user == null || !user.IsValid)
                {
                    throw new DaOAuthServiceException(errorResource["SendMailLostPasswordUserNoUserFound"]);
                }

                var myToken = JwtService.GenerateMailToken(user.UserName);
                var link    = new Uri(String.Format(Configuration.GetNewPasswordPageUrl, myToken.Token));

                MailService.SendEmail(new SendEmailDto()
                {
                    Body      = String.Format(mailResource["MailLostPasswordBody"], link.AbsoluteUri),
                    IsHtml    = true,
                    Receviers = new Dictionary <string, string>()
                    {
                        { user.EMail, user.EMail }
                    },
                    Sender  = new KeyValuePair <string, string>("*****@*****.**", "no reply"),
                    Subject = mailResource["MailLostPasswordSubject"]
                });
            }
        }
Exemplo n.º 23
0
        public async Task <IActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await _userManager.FindByEmailAsync(model.Email);

            if (user == null)
            {
                // Don't reveal that the user does not exist
                return(RedirectToAction(nameof(ResetPasswordConfirmation)));
            }
            var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);

            if (result.Succeeded && DomainUserExists(null, model.Email))
            {
                // update domain model User
                var unitOfWork     = UnitOfWorkFactory.CreateUnitOfWork();
                var userRepository = RepositoriesFactory.CreateUserRepository(unitOfWork);
                unitOfWork.BeginTransaction();
                var domainUser = userRepository.GetUserByEmail(model.Email);
                domainUser.SetPassword(model.Password);
                unitOfWork.Commit();

                return(RedirectToAction(nameof(ResetPasswordConfirmation)));
            }
            AddErrors(result);
            return(View());
        }
Exemplo n.º 24
0
        public async Task <IActionResult> Create(AddTravelViewModel viewModel)
        {
            var travel = viewModel.ToTravel();
            var user   = await GetCurrentDomainUserAsync();

            var unitOfWork         = UnitOfWorkFactory.CreateUnitOfWork();
            var userRepository     = RepositoriesFactory.CreateUserRepository(unitOfWork);
            var travelRepository   = RepositoriesFactory.CreateTravelRepository(unitOfWork);
            var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork);

            unitOfWork.BeginTransaction();
            travel.Traveller = userRepository.GetUser(user.Id);
            var currency = currencyRepository.GetById(viewModel.BudgetCurrencyId);

            if (viewModel.BudgetValue > 0 && currency != null)
            {
                travel.Budget = new MoneyValue
                {
                    Value    = viewModel.BudgetValue,
                    Currency = currency
                };
            }
            travelRepository.AddTravel(travel);
            unitOfWork.Commit();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 25
0
        public async Task <IActionResult> Edit(EditTravelViewModel viewModel)
        {
            var user = await GetCurrentDomainUserAsync();

            var unitOfWork         = UnitOfWorkFactory.CreateUnitOfWork();
            var travelRepository   = RepositoriesFactory.CreateTravelRepository(unitOfWork);
            var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork);

            unitOfWork.BeginTransaction();
            var travel   = travelRepository.GetTravel(viewModel.Id);
            var currency = currencyRepository.GetById(viewModel.BudgetCurrencyId);

            travel.Name        = viewModel.Name;
            travel.DateStart   = viewModel.DateStart;
            travel.DateEnd     = viewModel.DateEnd;
            travel.Description = viewModel.Description;
            if (viewModel.BudgetValue > 0 && currency != null)
            {
                travel.Budget = new MoneyValue
                {
                    Value    = viewModel.BudgetValue,
                    Currency = currency
                };
            }
            travelRepository.UpdateTravel(travel);
            unitOfWork.Commit();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 26
0
        private bool Authorize(HttpActionContext actionContext)
        {
            try
            {
                IEnumerable <String> AuthenticationHeaders;
                actionContext.Request.Headers.TryGetValues(TokenManager.TOKEN_HEADER_NAME, out AuthenticationHeaders);
                String token = AuthenticationHeaders.First();

                String userName  = TokenManager.ExtractUserNameFromToken(token);
                String timeStamp = TokenManager.ExtractUserTimesatmpFromToken(token);


                User WantedUser = RepositoriesFactory.CreateRepository <UsersRepository, User>()
                                  .Query().FirstOrDefault <User>(currUser => currUser.UserName == userName);

                if (WantedUser == null)
                {
                    return(false);
                }
                else if (!_allowedPermissionTypes.Contains(WantedUser.Permission))
                {
                    return(false);
                }


                String hashedPassword = WantedUser.Password;

                return(TokenManager.IsTokenValid(token, userName, hashedPassword, TokenManager.GetAccesseingClientIp(actionContext.Request), timeStamp));
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Exemplo n.º 27
0
        private bool CheckIfCodeIsValid(string clientPublicId, string scope, string codeValue, IContext context, out string userName)
        {
            bool IsValid(Code code)
            {
                if (code == null)
                {
                    return(false);
                }

                if (!code.IsValid)
                {
                    return(false);
                }

                if (code.ExpirationTimeStamp < new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds())
                {
                    return(false);
                }

                if (!String.IsNullOrWhiteSpace(code.Scope) && !String.IsNullOrWhiteSpace(scope))
                {
                    IList <string> scopes     = scope.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(c => c.ToUpper()).ToList();
                    IList <string> codeScopes = code.Scope.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(c => c.ToUpper()).ToList();
                    foreach (var s in scopes)
                    {
                        if (!codeScopes.Contains(s))
                        {
                            return(false);
                        }
                    }
                }

                return(code.UserClient.Client.PublicId.Equals(clientPublicId, StringComparison.Ordinal));
            }

            userName = String.Empty;
            var toReturn = true;

            var codeRepo = RepositoriesFactory.GetCodeRepository(context);
            var myCode   = codeRepo.GetByCode(codeValue);

            if (myCode == null)
            {
                return(false);
            }

            if (!IsValid(myCode))
            {
                toReturn = false;
            }
            else
            {
                myCode.IsValid = false;
                codeRepo.Update(myCode);
            }

            userName = myCode.UserClient.User.UserName;

            return(toReturn);
        }
Exemplo n.º 28
0
        public ActionResponse UpdateProgram(ProgramDTO program)
        {
            ActionResponse response = ValidateProgram(program, true);

            if (response != null)
            {
                return(response);
            }

            response = CanUserEditProgram(program.Id);

            if (response != null)
            {
                return(response);
            }

            Program programForUpdate = ConvertDTOToEntity(program);

            ProgramRepository programRepository = RepositoriesFactory.CreateRepository <ProgramRepository, Program>();

            Program existingProgram = programRepository.Get(programForUpdate.ProgramId);

            existingProgram.ProgramName = programForUpdate.ProgramName;

            foreach (ProgramDrill currDrill in programForUpdate.ProgramDrills)
            {
                ProgramDrill existingProgramDrill =
                    existingProgram.ProgramDrills.FirstOrDefault(currProgramDrill => currProgramDrill.Id == currDrill.Id);
                if (existingProgramDrill == null)
                {
                    existingProgram.ProgramDrills.Add(currDrill);
                }
                else
                {
                    foreach (Set currSet in currDrill.Sets)
                    {
                        Set existingSet =
                            existingProgramDrill.Sets.FirstOrDefault(currExistingSet => currExistingSet.SetId == currSet.SetId);

                        if (existingSet == null)
                        {
                            existingProgramDrill.Sets.Add(currSet);
                        }
                        else
                        {
                            existingSet.Repetitions = currSet.Repetitions;
                            existingSet.Weight      = currSet.Weight;
                            existingSet.Repetitions = currSet.Repetitions;
                        }
                    }
                }
            }

            programRepository.Update(existingProgram);
            return(new ActionResponse()
            {
                CompletedSuccessfully = true
            });
        }
Exemplo n.º 29
0
 private bool CheckIfUserHasAuthorizeOrDeniedClientAccess(string clientPublicId, string userName)
 {
     using (var context = RepositoriesFactory.CreateContext())
     {
         var clientUserRepo = RepositoriesFactory.GetUserClientRepository(context);
         return(clientUserRepo.GetUserClientByClientPublicIdAndUserName(clientPublicId, userName) != null);
     }
 }
Exemplo n.º 30
0
 public ICollection <UserDTO> GetAllUsers()
 {
     return(RepositoriesFactory.CreateRepository <UsersRepository, User>().GetALL()
            .Select <User, UserDTO>(currUser => new UserDTO()
     {
         Name = currUser.UserName, Permission = currUser.Permission, UserId = currUser.UserId
     }).ToList());
 }