コード例 #1
0
        public static void RolloverDailyBoosted()
        {
            AppIdentityDbContext context;

            using (context = AppIdentityDbContext.Create())
            {
                IUnitOfWork          unitOfWork          = new UnitOfWork(context);
                IObjectiveRepository objectiveRepository = new ObjectiveRepository(unitOfWork);

                List <BoostedObjective> boostedObjectives = objectiveRepository.GetBoostedObjectives().Where(b => b.IsLive() == false).ToList();

                foreach (BoostedObjective objective in boostedObjectives)
                {
                    objectiveRepository.DeleteBoostedObjective(objective.BoostedObjectiveID);
                }

                BoostedObjective newBoostedObjective = new BoostedObjective();

                // grab an active objective that has a product associated it (objectives without products are special and shouldn't be boosted via this method)
                Objective randomObjective = objectiveRepository.GetObjectives().Where(l => l.IsActive && l.Product != null && l.RequiresAdmin == false).OrderBy(x => Guid.NewGuid()).FirstOrDefault();

                if (randomObjective == null)
                {
                    unitOfWork.Save();
                    return;
                }

                SelectBoostAmount(newBoostedObjective);

                DateTime endDate = GetMidnightEST().AddDays(1);

                newBoostedObjective.EndDate = endDate;
                newBoostedObjective.IsDaily = true;

                randomObjective.AddBoostedObjective(newBoostedObjective);

                objectiveRepository.UpdateObjective(randomObjective);

                ISiteRepository siteRepository = new SiteRepository(unitOfWork);

                String urlAndName = String.Empty;

                if (randomObjective.Product.IsSteamAppID)
                {
                    urlAndName = "[url=https://store.steampowered.com/app/" + randomObjective.Product.AppID + "]" + randomObjective.Title + "[/url]";
                }
                else
                {
                    urlAndName = randomObjective.Title;
                }

                SiteNotification notification = new SiteNotification()
                {
                    Notification = "[boosted][/boosted] Objective [ptext]\"" + randomObjective.ObjectiveName + "\"[/ptext] for " + randomObjective.Title + " is [url=https://theafterparty.azurewebsites.net/objectives/boosted]boosted[/url] by [gtext]" + randomObjective.BoostedObjective.BoostAmount + "x[/gtext] for a boosted award of [gtext]" + randomObjective.FixedReward() + "[/gtext]!", NotificationDate = DateTime.Now
                };
                siteRepository.InsertSiteNotification(notification);

                unitOfWork.Save();
            }
        }
コード例 #2
0
ファイル: MailboxHelper.cs プロジェクト: HossamHassan47/NPO
        private static List <Site> getAllSites()
        {
            SiteRepository getAllSites = new SiteRepository();
            List <Site>    listOfSites = getAllSites.GetAllSites();

            return(listOfSites);
        }
コード例 #3
0
ファイル: DefaultSites.cs プロジェクト: MaximFil/Parser
 public static void InitializeSites(DbContextOptions <ApplicationDbContext> options)
 {
     using (var context = new ApplicationDbContext(options))
     {
         var siteRepository = new SiteRepository(context);
         var repository     = new Repository(context);
         if (!siteRepository.Any())
         {
             siteRepository.Add
                 (new Site
             {
                 Name   = "habr",
                 Domain = "habr.com"
             });
             siteRepository.Add
                 (new Site
             {
                 Name   = "tut.by",
                 Domain = "news.tut.by"
             });
             siteRepository.Add
                 (new Site
             {
                 Name   = "belta",
                 Domain = "www.belta.by"
             });
             repository.SaveChanges();
         }
     }
 }
コード例 #4
0
        public async Task <IActionResult> Details(string name, bool?viewIcons = null)
        {
            var repository = new SiteRepository(_settings.AzureStorageConnectionString);
            var site       = await repository.GetAsync();

            var recipes = site.GetRecipesByHashtag(name);

            var viewModel = new HashtagDetailsViewModel(name, recipes);

            if (viewIcons == null)
            {
                if (this.Request.Cookies.ContainsKey("RecipeViewIcons"))
                {
                    // Load default from cookie.
                    viewIcons = this.Request.Cookies["RecipeViewIcons"] == "true";
                }
                else
                {
                    viewIcons = false;
                }
            }
            else
            {
                // Save to cookie
                this.Response.Cookies.Append("RecipeViewIcons", "true");
            }

            ViewBag.ViewIcons = viewIcons;

            return(View(viewModel));
        }
コード例 #5
0
        public void Get_ReturnNull(int id)
        {
            var repository = new SiteRepository(_dbContext, _cache.Object, _logger.Object);
            var item       = repository.Get(id);

            Assert.Null(item);
        }
コード例 #6
0
ファイル: SiteService.cs プロジェクト: AuthorProxy/QP
        internal static void CopySiteSettings(int sourceSiteId, int destinationSiteId)
        {
            SiteRepository.CopySiteSettings(sourceSiteId, destinationSiteId);
            var relBetweenFolders = SiteRepository.CopyFolders(sourceSiteId, destinationSiteId);

            SiteRepository.CopyFolderAccess(relBetweenFolders);
        }
コード例 #7
0
        public MultistepActionStepResult Step(int step)
        {
            var site = SiteRepository.GetById(SiteId);

            if (site == null)
            {
                throw new ApplicationException(string.Format(SiteStrings.SiteNotFound, SiteId));
            }

            var deletedContentsIds    = ContentRepository.BatchRemoveContents(SiteId, ITEMS_PER_STEP);
            var deletedContentsStrIds = new HashSet <string>(deletedContentsIds.Select(id => id.ToString()), StringComparer.InvariantCultureIgnoreCase);

            var sitePath = site.BasePathInfo.GetSubPathInfo("contents").Path;

            if (Directory.Exists(sitePath))
            {
                foreach (var sd in new DirectoryInfo(sitePath).EnumerateDirectories().Where(i => deletedContentsStrIds.Contains(i.Name)))
                {
                    sd.Delete(true);
                }
            }

            return(new MultistepActionStepResult {
                ProcessedItemsCount = ITEMS_PER_STEP
            });
        }
コード例 #8
0
        public VolumesViewModel(VMS.TPS.Common.Model.API.Application vapp, PatientRepository patientRepository, SiteRepository siteRepository, VolumeRepository volumeRepository, int filterlevel)
        {
            if (patientRepository == null)
            {
                throw new ArgumentNullException("paientRepository");
            }
            if (siteRepository == null)
            {
                throw new ArgumentNullException("siteRepository");
            }
            if (volumeRepository == null)
            {
                throw new ArgumentNullException("volumeRepository");
            }
            base.DisplayName = Strings.VolumesViewModel_DisplayName;

            _patientRepository = patientRepository;
            _siteRepository    = siteRepository;
            _volumeRepository  = volumeRepository;
            _vapp            = vapp;
            _filterlevel     = filterlevel;
            _avialstructures = new List <StructureTempViewModel>();
            _dictpatients    = new Dictionary <VolumeViewModel, List <MPatient> >();


            // Populate the AllVolumes collection.
            this.CreateVolumes();
        }
コード例 #9
0
        public IList <Site> getAllSiteForOC(string heure, string minute, string seconde)
        {
            ISiteRepository siteRepo = new SiteRepository();
            IList <Site>    site     = siteRepo.FindSiteForOC(heure, minute, seconde);

            return(site);
        }
コード例 #10
0
        public async Task <IActionResult> FindPagination(Pagination pagination)
        {
            ResponseHelper objHelper = new ResponseHelper();

            try
            {
                pagination.RecordCount = SiteRepository.RecordCount(pagination.CommonSearch);
                var vList = await SiteRepository.FindPaginated(pagination.PageIndex, pagination.PageSize, pagination.CommonSearch);

                if (vList == null)
                {
                    objHelper.Status  = StatusCodes.Status200OK;
                    objHelper.Message = "Get Empty Data";
                }
                else
                {
                    objHelper.Status  = StatusCodes.Status200OK;
                    objHelper.Message = "Get Successfully";
                    objHelper.Data    = vList;
                }
                return(Ok(objHelper));
            }
            catch
            {
                objHelper.Status  = StatusCodes.Status500InternalServerError;
                objHelper.Message = "Get Unsuccessful";
                return(StatusCode(StatusCodes.Status500InternalServerError, objHelper));
            }
        }
コード例 #11
0
        internal static void LoadStructureCache(bool clearExternal)
        {
            ClearInternalStructureCache();
            if (clearExternal)
            {
                ClearExternalStructureCache();
            }

            if (GetSiteCache() == null)
            {
                SetSiteCache(SiteRepository.GetAll().ToDictionary(n => n.Id));
            }

            if (GetContentCache() == null)
            {
                SetContentCache(ContentRepository.GetAll().ToDictionary(n => n.Id));
            }

            IEnumerable <Field> fields = new Field[0];

            if (GetFieldCache() == null || GetContentFieldCache() == null)
            {
                fields = FieldRepository.GetAll();
            }

            if (GetFieldCache() == null)
            {
                SetFieldCache(fields.ToDictionary(n => n.Id));
            }

            if (GetStatusTypeCache() == null)
            {
                SetStatusTypeCache(StatusTypeRepository.GetAll().ToDictionary(n => n.Id));
            }

            if (GetUserCache() == null)
            {
                SetUserCache(UserRepository.GetAllUsersList().ToDictionary(n => n.Id));
            }

            if (GetContentFieldCache() == null)
            {
                var dict = new Dictionary <int, List <int> >();
                foreach (var item in fields)
                {
                    if (dict.ContainsKey(item.ContentId))
                    {
                        dict[item.ContentId].Add(item.Id);
                    }
                    else
                    {
                        dict.Add(item.ContentId, new List <int> {
                            item.Id
                        });
                    }
                }

                SetContentFieldCache(dict);
            }
        }
コード例 #12
0
        public async Task <IActionResult> Get(int id)
        {
            ResponseHelper objHelper = new ResponseHelper();

            try
            {
                var vList = await SiteRepository.Get(id);

                if (vList == null)
                {
                    objHelper.Status  = StatusCodes.Status200OK;
                    objHelper.Message = "Get Empty Data";
                }
                else
                {
                    objHelper.Status  = StatusCodes.Status200OK;
                    objHelper.Message = "Get Successfully";
                    objHelper.Data    = vList;
                }
                return(Ok(objHelper));
            }
            catch
            {
                objHelper.Status  = StatusCodes.Status500InternalServerError;
                objHelper.Message = "Get Unsuccessful";
                return(StatusCode(StatusCodes.Status500InternalServerError, objHelper));
            }
        }
コード例 #13
0
        public async Task <IActionResult> UpdateStatus(int id, short isActive)
        {
            ResponseHelper objHelper = new ResponseHelper();

            if (!ModelState.IsValid)
            {
                objHelper.Status  = StatusCodes.Status424FailedDependency;
                objHelper.Message = "Invalid Model State";
                return(BadRequest(objHelper));
            }
            try
            {
                await SiteRepository.ToogleStatus(id, isActive);

                objHelper.Status  = StatusCodes.Status200OK;
                objHelper.Message = "Saved Successfully";
                objHelper.Data    = await SiteRepository.Get(id);

                return(Ok(objHelper));
            }
            catch
            {
                objHelper.Status  = StatusCodes.Status500InternalServerError;
                objHelper.Message = "Save Unsuccessful";
                return(StatusCode(StatusCodes.Status500InternalServerError, objHelper));
            }
        }
コード例 #14
0
        public async Task <IActionResult> Edit(SiteView site)
        {
            ResponseHelper objHelper = new ResponseHelper();

            if (!ModelState.IsValid)
            {
                objHelper.Status  = StatusCodes.Status424FailedDependency;
                objHelper.Message = "Invalid Model State";
                return(BadRequest(objHelper));
            }

            try
            {
                if (SiteRepository.Exists(site))
                {
                    objHelper.Status  = StatusCodes.Status200OK;
                    objHelper.Message = "Data already available";
                    return(Ok(objHelper));
                }

                await SiteRepository.Update(site);

                objHelper.Status  = StatusCodes.Status200OK;
                objHelper.Message = "Saved Successfully";
                return(Ok(objHelper));
            }
            catch
            {
                objHelper.Status  = StatusCodes.Status500InternalServerError;
                objHelper.Message = "Save Unsuccessful";
                return(StatusCode(StatusCodes.Status500InternalServerError, objHelper));
            }
        }
コード例 #15
0
        protected override MultistepActionServiceContext CreateContext(int siteId, int templateId, bool?boundToExternal)
        {
            var site = SiteRepository.GetById(siteId);

            if (site == null)
            {
                throw new ApplicationException(string.Format(SiteStrings.SiteNotFound, siteId));
            }

            if (site.IsDotNet)
            {
                return(new MultistepActionServiceContext
                {
                    CommandStates = new[]
                    {
                        templateCommand.GetState(),
                        pagesCommand.GetState(),
                        notificationsCommand.GetState()
                    }
                });
            }

            return(new MultistepActionServiceContext
            {
                CommandStates = new[]
                {
                    pagesCommand.GetState()
                }
            });
        }
コード例 #16
0
        public Protocole getProtocolForSite(int idSite)
        {
            ISiteRepository siteRepo = new SiteRepository();
            Site            site     = siteRepo.FindById(idSite);

            return(site.Protocole);
        }
コード例 #17
0
ファイル: SiteService.cs プロジェクト: AuthorProxy/QP
        public static MessageResult AssembleContentsPreAction(int id)
        {
            var site    = SiteRepository.GetById(id);
            var message = !site.IsLive ? null : string.Format(SiteStrings.SiteInLiveWarning, site.ModifiedToDisplay, site.LastModifiedByUserToDisplay);

            return(string.IsNullOrEmpty(message) ? null : MessageResult.Confirm(message));
        }
コード例 #18
0
        public ActionResult <DeleteSiteResponseModel> DeleteSite([FromBody] DeleteSiteInputModel data)
        {
            DeleteSiteResponseModel res = new DeleteSiteResponseModel();

            try
            {
                SiteRepository repo = new SiteRepository(DbContext);
                var            tes  = repo.Delete(data.SiteID, data.UserID);

                DeleteSiteOutputModel output = new DeleteSiteOutputModel();
                output.message = tes.Message;

                res.data     = output;
                res.Message  = "Success";
                res.Response = true;

                return(Ok(res));
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;

                return(BadRequest(res));
            }
        }
コード例 #19
0
        private void btnCheckNow_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                using (var session = SharpArch.NHibernate.NHibernateSession.GetDefaultSessionFactory().OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        SiteRepository          siteRepository          = new SiteRepository(session);
                        SiteResponseRepository  siteResponseRepository  = new SiteResponseRepository(session);
                        SiteErrorRepository     siteErrorRepository     = new SiteErrorRepository(session);
                        NotificationsRepository notificationsRepository = new NotificationsRepository(session);

                        Site         siteToUpdate = ((FrameworkElement)sender).DataContext as Site;
                        int          id           = siteToUpdate.Id;
                        Site         site         = siteRepository.Get(id);
                        SiteResponse lastResponse = siteResponseRepository.GetLastResponse(site.Id);

                        ResponseChecker checker = new ResponseChecker(ApplicationLogic.Utils.Logger.Instance, siteRepository, siteResponseRepository, siteErrorRepository, notificationsRepository);
                        checker.CheckResponse(site, lastResponse);
                        transaction.Commit();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationLogic.Utils.Logger.Instance.LogError(ex);
            }

            UpdateDataGrid();
        }
コード例 #20
0
        public ActionResult <ChangeStatusResponseModel> ChangeStatusSite([FromBody] ChangeStatusInputModel data)
        {
            ChangeStatusResponseModel res = new ChangeStatusResponseModel();

            try
            {
                SiteRepository repo = new SiteRepository(DbContext);
                var            tes  = repo.ChangeStatus(data.SiteID, data.UserID, data.Value);

                ChangeStatusOutputModel output = new ChangeStatusOutputModel();
                output.message = tes.Message;

                res.data     = output;
                res.Message  = "Success";
                res.Response = true;

                return(Ok(res));
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;

                return(BadRequest(res));
            }
        }
コード例 #21
0
        public static ContentInitListResult InitList(int siteId, bool isVirtual = false)
        {
            var isActionAccessable = !isVirtual && SecurityRepository.IsActionAccessible(ActionCode.AddNewContent);

            if (siteId > 0)
            {
                var site = SiteRepository.GetById(siteId);
                if (site == null)
                {
                    throw new Exception(string.Format(SiteStrings.SiteNotFound, siteId));
                }

                var isSiteAccessable = !isVirtual && SecurityRepository.IsEntityAccessible(EntityTypeCode.Site, siteId, ActionTypeCode.Update);
                return(new ContentInitListResult
                {
                    ParentName = site.Name,
                    IsVirtual = isVirtual,
                    IsAddNewAccessable = isActionAccessable && isSiteAccessable
                });
            }

            return(new ContentInitListResult
            {
                IsVirtual = isVirtual,
                IsAddNewAccessable = isActionAccessable
            });
        }
コード例 #22
0
        public SiteEntity GetSiteById(string IdSite)
        {
            SiteRepository repository = new SiteRepository();
            SiteEntity     site       = repository.FindById(new Guid(IdSite));

            return(site);
        }
コード例 #23
0
ファイル: AssembleSiteService.cs プロジェクト: QuantumArt/QP
        protected override IMultistepActionStageCommand CreateCommand(MultistepActionStageCommandState state)
        {
            var site = SiteRepository.GetById(state.Id);

            if (site == null)
            {
                throw new ApplicationException(string.Format(SiteStrings.SiteNotFound, state.Id));
            }

            switch (state.Type)
            {
            case BuildSiteStageCommandTypes.CreateFolders:
                return(new CreateFoldersCommand(state));

            case BuildSiteStageCommandTypes.BuildTemplates:
                return(new AssembleTemplatesCommand(state));

            case BuildSiteStageCommandTypes.BuildPages:
                return(new AssemblePagesCommand(state, true, site.IsDotNet));

            case BuildSiteStageCommandTypes.BuildNotifications:
                return(new AssembleNotificationsCommand(state, true));

            default:
                throw new ApplicationException("Undefined Site Building Stage Command Type: " + state.Type);
            }
        }
コード例 #24
0
ファイル: CreateFoldersCommand.cs プロジェクト: QuantumArt/QP
        public MultistepActionStepResult Step(int step)
        {
            var site = SiteRepository.GetById(SiteId);

            if (site == null)
            {
                throw new ApplicationException(string.Format(SiteStrings.SiteNotFound, SiteId));
            }
            if (!site.IsDotNet)
            {
                throw new ApplicationException(string.Format(SiteStrings.ShouldBeDotNet));
            }

            if (site.IsLive)
            {
                site.CreateLiveSiteFolders();
            }
            else
            {
                site.CreateStageSiteFolders();
            }

            return(new MultistepActionStepResult {
                ProcessedItemsCount = 1
            });
        }
コード例 #25
0
 private void CheckIfDeafultSiteHasBeenInstalled()
 {
     if (SiteRepository.GetByName("Default") == null)
     {
         _siteInstallationService.InstallDefaultSite();
     }
 }
コード例 #26
0
        public override MultistepActionSettings Setup(int parentId, int templateId, bool?boundToExternal)
        {
            var site = SiteRepository.GetById(parentId);

            if (site == null)
            {
                throw new ApplicationException(string.Format(SiteStrings.SiteNotFound, parentId));
            }

            var template = PageTemplateRepository.GetPageTemplatePropertiesById(templateId);

            if (site.IsDotNet)
            {
                templateCommand = new AssembleTemplateCommand(templateId, template.Name);
                pagesCommand    = new AssemblePagesCommand(templateId, template.Name, false, true);
                pagesCommand.Setup();

                notificationsCommand = new AssembleNotificationsCommand(templateId, template.Name, false);
            }
            else
            {
                pagesCommand = new AssemblePagesCommand(templateId, template.Name, false, false);
                pagesCommand.Setup();
            }

            return(base.Setup(parentId, templateId, boundToExternal));
        }
コード例 #27
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            V308CMSEntities mEntities = new V308CMSEntities();
            SiteRepository  config    = new SiteRepository(mEntities);
            dynamic         ViewBag   = filterContext.Controller.ViewBag;

            ViewBag.linkDomain  = System.Configuration.ConfigurationManager.AppSettings["link_domain"];
            ViewBag.productLink = System.Configuration.ConfigurationManager.AppSettings["product_link"];
            try {
                ViewBag.domain     = Theme.domain;
                ViewBag.ThemesPath = "/Content/themes/" + Theme.domain;
                ViewBag.MoneyShort = "vnđ";

                ViewBag.SiteName             = config.SiteConfig("site-name");
                ViewBag.Hotline              = config.SiteConfig("hotline");
                ViewBag.CompanyFullname      = config.SiteConfig("company-fullname");
                ViewBag.FooterCompanyContact = config.SiteConfig("company-footer-contact");
                ViewBag.CompanyHeaderAddress = config.SiteConfig("company-header-address");
                ViewBag.FacebookPage         = config.SiteConfig("affiliate-facebook-page");
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
            finally
            {
                mEntities.Dispose();
                config.Dispose();
            }
        }
コード例 #28
0
        protected override MultistepActionSettings CreateActionSettings(int siteId, int templateId)
        {
            var site = SiteRepository.GetById(siteId);

            if (site == null)
            {
                throw new ApplicationException(string.Format(SiteStrings.SiteNotFound, siteId));
            }

            if (site.IsDotNet)
            {
                return(new MultistepActionSettings
                {
                    Stages = new[]
                    {
                        templateCommand.GetStageSettings(),
                        pagesCommand.GetStageSettings(),
                        notificationsCommand.GetStageSettings()
                    }
                });
            }

            return(new MultistepActionSettings
            {
                Stages = new[]
                {
                    pagesCommand.GetStageSettings()
                }
            });
        }
コード例 #29
0
        public async Task GetSiteForOrganization_ReturnsSiteWithIdAndOrganizationId_IncludesEntities(
            string[] include,
            bool includeEnrollments,
            bool includeFundings,
            bool includeChildren
            )
        {
            int orgId;
            int id;

            using (var context = new TestHedwigContextProvider().Context)
            {
                var enrollment = EnrollmentHelper.CreateEnrollment(context);

                id    = enrollment.SiteId;
                orgId = enrollment.Site.OrganizationId;
            }

            using (var context = new TestHedwigContextProvider().Context)
            {
                var siteRepo = new SiteRepository(context);
                var res      = await siteRepo.GetSiteForOrganizationAsync(id, orgId, include);

                Assert.Equal(includeEnrollments, res.Enrollments != null);
                Assert.Equal(includeFundings, res.Enrollments != null && res.Enrollments.All(e => e.Fundings != null));
                Assert.Equal(includeChildren, res.Enrollments != null && res.Enrollments.All(e => e.Child != null));
            }
        }
コード例 #30
0
        public async Task DeleteUnlinkedImages()
        {
            var siteRepository = new SiteRepository(SettingsFactory.GetConnectionString());
            var site           = await siteRepository.GetAsync();

            var imageRepository = new ImageRepository(SettingsFactory.GetConnectionString());

            var list = await imageRepository.GetFileNamesAsync();

            foreach (var fileName in list)
            {
                bool found = false;

                foreach (var recipe in site.Recipes)
                {
                    if (recipe.ImageUrl != null && recipe.ImageUrl.Contains(fileName))
                    {
                        found = true;
                    }
                }

                if (!found)
                {
                    await imageRepository.DeleteAsync(fileName);
                }
            }
        }