Beispiel #1
0
        public async Task <bool> UpdateAsync(int pageHeaderId, PageHeaderInputModel pageHeaderInputModel)
        {
            var pageHeader = await this.pageHeaders.All().SingleOrDefaultAsync(ph => ph.Id == pageHeaderId);

            var pageHeaderImg = pageHeaderInputModel.Image;

            pageHeader.ModifiedOn = DateTime.UtcNow;
            pageHeader.Title      = pageHeaderInputModel.MainTitle;
            pageHeader.SubTitle   = pageHeaderInputModel.SubTitle;

            if (pageHeaderImg != null)
            {
                var folderName = GlobalConstants.PageHeadersFolderName;

                var cloudUrl = this.cloudinaryService.UploudPicture(pageHeaderImg, folderName);
                pageHeader.Image = new Image
                {
                    CloudUrl    = cloudUrl,
                    ContentType = pageHeaderImg.ContentType,
                    CreatedOn   = DateTime.UtcNow,
                    ImageByte   = pageHeaderImg.ImageByte,
                    ImagePath   = pageHeaderImg.ImagePath,
                    ImageTitle  = pageHeaderImg.ImageTitle,
                };
            }

            this.pageHeaders.Update(pageHeader);
            var savedChanges = await this.pageHeaders.SaveChangesAsync();

            return(savedChanges > 0);
        }
Beispiel #2
0
        public async Task <int> CreatePageHeaderAsync(PageHeaderInputModel pageHeaderInputModel)
        {
            var pageHeaderImg = pageHeaderInputModel.Image;

            var pageHeaderForDb = new PageHeader
            {
                CreatedOn     = DateTime.UtcNow,
                PageIndicator = GlobalConstants.PageIndicatorPost,
                Title         = pageHeaderInputModel.MainTitle,
                SubTitle      = pageHeaderInputModel.SubTitle,
            };

            if (pageHeaderImg != null)
            {
                var folderName = GlobalConstants.PageHeadersFolderName;

                var cloudUrl = this.cloudinaryService.UploudPicture(pageHeaderImg, folderName);
                pageHeaderForDb.Image = new Image
                {
                    CloudUrl    = cloudUrl,
                    ContentType = pageHeaderImg.ContentType,
                    CreatedOn   = DateTime.UtcNow,
                    ImageByte   = pageHeaderImg.ImageByte,
                    ImagePath   = pageHeaderImg.ImagePath,
                    ImageTitle  = pageHeaderImg.ImageTitle,
                };
            }

            await this.pageHeaders.AddAsync(pageHeaderForDb);

            var savedChanges = await this.pageHeaders.SaveChangesAsync();

            return(pageHeaderForDb.Id);
        }
Beispiel #3
0
        public async Task CreatePageHeaderAsyncShouldAddNewPageHeaderAndReturnExpectedId()
        {
            // Arrange
            var expectedId = 8;

            byte[] img = await File.ReadAllBytesAsync($@"C:\Users\nikolaviktor3132\Pictures\test.png");

            var imgInputModel = new ImageInputModel {
                CloudUrl = "sdfsdfsdf", ContentType = "sadasd", CreatedOn = DateTime.Now, ImageByte = img, ImageTitle = "weqeqweq", ImagePath = "dsfsdfsdfs"
            };

            var pageHeaderInputModel = new PageHeaderInputModel
            {
                Image     = imgInputModel,
                SubTitle  = "dfdfd",
                MainTitle = "dsds",
            };

            // Act
            var actualPageHeader = this.pageHeadersRepository.AllWithDeleted().FirstOrDefault(ph => ph.Id == expectedId);

            Assert.True(actualPageHeader == null);
            await this.pageHeaderService.CreatePageHeaderAsync(pageHeaderInputModel);

            actualPageHeader = this.pageHeadersRepository.AllWithDeleted().FirstOrDefault(ph => ph.Id == expectedId);

            // Assert
            Assert.True(actualPageHeader != null);
        }
Beispiel #4
0
        public async Task UpdateAsyncShouldReturnExpectedPageHeader()
        {
            // Arrange
            var current = this.pageHeadersRepository.AllWithDeleted().FirstOrDefault();

            var pageHeaderInput = new PageHeaderInputModel {
                MainTitle = "Update", SubTitle = "Update"
            };

            // Act
            await this.pageHeaderService.UpdateAsync(current.Id, pageHeaderInput);

            // Assert
            Assert.True(current.Title == pageHeaderInput.MainTitle && current.SubTitle == pageHeaderInput.SubTitle);
        }