public CountInfo PrepareToUpdate(SecurityInfo securityInfo,
                                         DateTimeOffset lastUpdateBrands,
                                         DateTimeOffset lastUpdateCatalogs,
                                         DateTimeOffset lastUpdateDirectories,
                                         DateTimeOffset lastUpdateProductDirections,
                                         DateTimeOffset lastUpdatePhotos,
                                         bool needLoadPhotos,
                                         long[] ids)
        {
            CountInfo result = null;

            if (ValidatePassword(securityInfo))
            {
                IShapingBrands            shapingBrands            = new ShapingBrands(dataService, optionService);
                IShapingCatalogs          shapingCatalogs          = new ShapingCatalogs(dataService, optionService, priceService);
                IShapingDirectories       shapingDirectories       = new ShapingDirectories(dataService, optionService);
                IShapingProductDirections shapingProductDirections = new ShapingProductDirections(dataService,
                                                                                                  optionService);
                IShapingPhotos shapingPhotos = new ShapingPhotos(dataService, optionService);

                result = new CountInfo
                {
                    CountBrands            = shapingBrands.PrepareToUpdate(securityInfo.Login, lastUpdateBrands),
                    CountCatalogs          = shapingCatalogs.PrepareToUpdate(securityInfo.Login, lastUpdateCatalogs),
                    CountDirectories       = shapingDirectories.PrepareToUpdate(securityInfo.Login, lastUpdateDirectories),
                    CountProductDirections = shapingProductDirections.PrepareToUpdate(securityInfo.Login, lastUpdateProductDirections),
                    CountPhotos            = needLoadPhotos ? shapingPhotos.PrepareToUpdate(securityInfo.Login, lastUpdatePhotos, ids) : 0,
                    IsAuthorized           = true
                };
            }

            return(result);
        }
 public void ConfirmUpdatePhotos(SecurityInfo securityInfo, List <long> itemIds)
 {
     if (ValidatePassword(securityInfo))
     {
         IShapingPhotos shaping = new ShapingPhotos(dataService, optionService);
         shaping.ConfirmUpdate(securityInfo.Login, itemIds);
     }
 }
        public PhotoInfo GetPhoto(SecurityInfo securityInfo, long id)
        {
            PhotoInfo photoInfo = null;

            if (ValidatePassword(securityInfo))
            {
                IShapingPhotos shaping = new ShapingPhotos(dataService, optionService);
                photoInfo = shaping.GetItem(id);
            }

            return(photoInfo);
        }
        public Photos GetPhotos(SecurityInfo securityInfo, DateTimeOffset lastUpdate, long[] ids)
        {
            Photos photos = null;

            if (ValidatePassword(securityInfo))
            {
                IShapingPhotos shaping = new ShapingPhotos(dataService, optionService);
                photos = shaping.GetItems(securityInfo.Login, lastUpdate, ids);
            }

            return(photos);
        }
        public CountPhotosInfo PrepareToUpdatePhotos(SecurityInfo securityInfo,
                                                     DateTimeOffset lastUpdatePhotos,
                                                     bool needLoadPhotos,
                                                     long[] ids)
        {
            CountPhotosInfo countPhotosInfo = null;

            if (ValidatePassword(securityInfo))
            {
                IShapingPhotos shapingPhotos = new ShapingPhotos(dataService, optionService);
                countPhotosInfo = new CountPhotosInfo
                {
                    CountPhotos  = needLoadPhotos ? shapingPhotos.PrepareToUpdate(securityInfo.Login, lastUpdatePhotos, ids) : 0,
                    IsAuthorized = true
                };
            }

            return(countPhotosInfo);
        }