Exemple #1
0
        public ValidationDictionary <ViewModelPage> SavePage(int clientId, ViewModelPage viewModelPage)
        {
            // validation first
            var validator = new ValidationDictionary <ViewModelPage>();

            if (viewModelPage == null)
            {
                validator.IsValid = false;
                validator.AddError("", "Page you're trying to save is null");
                return(validator);
            }

            // rule based
            if (viewModelPage.IsHomePage)
            {
            }

            DynamicPage dPage;

            if (viewModelPage.PageId <= 0)
            {
                // prepare object to save
                dPage = new DynamicPage();
                dPage.InjectFrom(viewModelPage);
                dPage.ClientId        = clientId;
                dPage.DateCreated     = DateTime.UtcNow;
                dPage.DateLastUpdated = DateTime.UtcNow;

                _pageRepository.Add(dPage);
            }
            else
            {
                var gExpression = _dynamicPageFilters.Init()
                                  .GetByPageId(viewModelPage.PageId)
                                  .GetByClientId(clientId)
                                  .GetNotDeleted()
                                  .FilterExpression;

                dPage = _pageRepository.FindBy(gExpression);

                if (dPage != null)
                {
                    // excluded fields
                    var createdDate = dPage.DateCreated;
                    // update data
                    dPage.InjectFrom(viewModelPage);
                    dPage.DateCreated     = createdDate;
                    dPage.DateLastUpdated = DateTime.UtcNow;
                    dPage.IsDeleted       = false;

                    _pageRepository.Update(dPage);
                }
            }

            var pingedPaged = GetPage(clientId, dPage.PageId);

            validator.IsValid       = true;
            validator.RelatedObject = pingedPaged;
            return(validator);
        }
Exemple #2
0
 /// <inheritdoc />
 public bool Predicate(ViewModelPage viewModel)
 {
     if (Goal == null)
     {
         return(true);
     }
     return(Goal.Predicate(viewModel));
 }
        public ViewModelPage GetCustomerPaging(int numberPage, int perPage)
        {
            int _customersCount = GetCustomers().Count();
            int _countPages     = (_customersCount / perPage) + (_customersCount % perPage == 0 ? 0 : 1);

            var page = new ViewModelPage();

            page.ActualPage     = numberPage;
            page.CountCustomers = GetCustomers().Count();
            page.CountPages     = _countPages;
            page.customers      = GetCustomers().Skip(numberPage * perPage).Take(perPage).ToList();

            return(page);
        }
Exemple #4
0
        public ViewModelPage GetPageByPageUrl(int clientId, string pageUrl)
        {
            var expression = _dynamicPageFilters.Init()
                             .GetByClientId(clientId)
                             .GetByPageUrl(pageUrl)
                             .FilterExpression;

            var pageFromDb = _pageRepository.FindBy(expression);

            var viewModelPage = new ViewModelPage();

            viewModelPage.InjectFrom(pageFromDb);

            return(viewModelPage);
        }
Exemple #5
0
        public Response <DtoBuncisPage> BPInsertPage(int clientId, DtoBuncisPage page)
        {
            var service   = IoC.Resolve <IDynamicPageService>();
            var viewModel = new ViewModelPage().InjectFrom(page) as ViewModelPage;
            var result    = service.SavePage(clientId, viewModel);

            var response = new Response <DtoBuncisPage>();

            response.IsSuccess = result.IsValid;
            response.Message   = result.ValidationSummaryToString();
            if (response.IsSuccess)
            {
                var responseObject = new DtoBuncisPage().InjectFrom(result.RelatedObject) as DtoBuncisPage;
                response.ResponseObject = responseObject;
            }
            return(response);
        }
Exemple #6
0
        public IEnumerable <ViewModelPage> GetAvailablePages(int clientId)
        {
            var expression = _dynamicPageFilters.Init()
                             .GetByClientId(clientId)
                             .GetNotDeleted()
                             .FilterExpression;

            var pages = _pageRepository
                        .FilterBy(expression)
                        .OrderBy(o => o.PageName).ToList();

            var viewModels = pages.Select(o =>
            {
                var viewModelPage = new ViewModelPage();
                viewModelPage.InjectFrom(o);
                return(viewModelPage);
            }).ToList();

            return(viewModels);
        }
Exemple #7
0
 /// <inheritdoc />
 public bool Predicate(ViewModelPage viewModel)
 {
     return(viewModel.Key == Key);
 }