public async Task RemoveAsync(List <string> errorList)
        {
            VisitorsConfigData config = await VisitorsConfigDataProvider.GetConfigAsync();

            DateTime oldest = DateTime.UtcNow.AddDays(-config.Days);

            using (VisitorEntryDataProvider visitorEntryDP = new VisitorEntryDataProvider()) {
                List <DataProviderFilterInfo> filters = DataProviderFilterInfo.Join(null, new DataProviderFilterInfo {
                    Field = nameof(VisitorEntry.AccessDateTime), Operator = "<", Value = oldest
                });
                int removed = await visitorEntryDP.RemoveItemsAsync(filters);

                errorList.Add(string.Format("{0} records removed from visitor data", removed));
            }
        }
Exemple #2
0
        public async Task <ActionResult> VisitorsConfig_Partial(Model model)
        {
            using (VisitorsConfigDataProvider dataProvider = new VisitorsConfigDataProvider()) {
                VisitorsConfigData data = await dataProvider.GetItemAsync();// get the original item

                if (!ModelState.IsValid)
                {
                    return(PartialView(model));
                }
                data = model.GetData(data); // merge new data into original
                model.SetData(data);        // and all the data back into model for final display
                await dataProvider.UpdateConfigAsync(data);

                return(FormProcessed(model, this.__ResStr("okSaved", "Visitors settings saved"), NextPage: Manager.ReturnToUrl));
            }
        }
Exemple #3
0
        public async Task <ActionResult> VisitorsConfig()
        {
            using (VisitorsConfigDataProvider visitorDP = new VisitorsConfigDataProvider()) {
                if (!await visitorDP.IsInstalledAsync())
                {
                    throw new Error(this.__ResStr("noInfo", "Visitor information is not available - See https://yetawf.com/Documentation/YetaWF/Visitors"));
                }
                Model model             = new Model {
                };
                VisitorsConfigData data = await visitorDP.GetItemAsync();

                if (data == null)
                {
                    throw new Error(this.__ResStr("notFound", "The visitors settings could not be found"));
                }
                model.SetData(data);
                return(View(model));
            }
        }