Esempio n. 1
0
        public FeatureDto CreateFeature(FeatureDto FeatureDto, int userId, int tenantId, MemoryStream files, string path)
        {
            if (GetFeature(FeatureDto.FeatureId, tenantId) != null)
            {
                return(EditFeature(FeatureDto, userId, tenantId, files, path));
            }
            ValidateFeature(FeatureDto, tenantId);
            var FeatureObj = Mapper.Map <Feature>(FeatureDto);

            foreach (var FeatureName in FeatureDto.TitleDictionary)
            {
                FeatureObj.FeaturesTranslations.Add(new FeatureTranslation
                {
                    Title    = FeatureName.Value,
                    Language = FeatureName.Key,
                });
            }

            FeatureObj.CreationTime  = Strings.CurrentDateTime;
            FeatureObj.CreatorUserId = userId;
            FeatureObj.TenantId      = tenantId;
            _typeTranslationService.InsertRange(FeatureObj.FeaturesTranslations);
            _featureService.Insert(FeatureObj);
            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Feature-" + FeatureObj.FeatureId, files, FeatureObj.FeatureId.ToString());
            return(FeatureDto);
        }
Esempio n. 2
0
        public void AddCategory(CategoryDTO categoryDto, string path)
        {
            ValidateCategory(categoryDto);
            var menu = _menuService.Find(categoryDto.MenuId);

            if (menu == null)
            {
                throw new NotFoundException(ErrorCodes.MenuNotFound);
            }
            if (menu.IsDeleted)
            {
                throw new ValidationException(ErrorCodes.MenuDeleted);
            }
            var category = Mapper.Map <Category>(categoryDto);

            foreach (var categoryName in categoryDto.CategoryNameDictionary)
            {
                category.CategoryTranslations.Add(new CategoryTranslation
                {
                    CategoryName = categoryName.Value,
                    Language     = categoryName.Key
                });
            }
            _categoryTranslationService.InsertRange(category.CategoryTranslations);
            _categoryService.Insert(category);
            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Restaurant-" + menu.RestaurantId + "\\" + "Menu-" + menu.MenuId + "\\" + "Category-" + category.CategoryId, categoryDto.Image, category.CategoryId.ToString());
        }
Esempio n. 3
0
        public NewsDto CreateNews(NewsDto newsDto, int userId, int tenantId, MemoryStream file, string path)
        {
            if (GetNews(newsDto.NewsId, tenantId) != null)
            {
                return(EditNews(newsDto, userId, tenantId, file, path));
            }
            ValidateNews(newsDto, tenantId);
            var newsObj = Mapper.Map <News>(newsDto);

            foreach (var newsName in newsDto.TitleDictionary)
            {
                newsObj.NewsTranslations.Add(new NewsTranslation
                {
                    Title       = newsName.Value,
                    Description = newsDto.DescriptionDictionary[newsName.Key],
                    Language    = newsName.Key,
                });
            }

            newsObj.CreationTime  = Strings.CurrentDateTime;
            newsObj.CreatorUserId = userId;
            newsObj.TenantId      = tenantId;
            _typeTranslationService.InsertRange(newsObj.NewsTranslations);
            _newsService.Insert(newsObj);
            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "News-" + newsObj.NewsId, file, newsObj.NewsId.ToString());
            return(newsDto);
        }
Esempio n. 4
0
        public void AddMenu(MenuDTO menuDto, long restaurantAdminId, string path)
        {
            var restaurant = _restaurantService.GetRestaurantByAdminId(restaurantAdminId);

            if (restaurant == null)
            {
                throw new NotFoundException(ErrorCodes.RestaurantNotFound);
            }
            if (restaurant.IsDeleted)
            {
                throw new ValidationException(ErrorCodes.RestaurantDeleted);
            }
            ValidateMenu(menuDto, restaurant.RestaurantId);
            var menu = new Menu();

            foreach (var menuName in menuDto.MenuNameDictionary)
            {
                menu.MenuTranslations.Add(new MenuTranslation
                {
                    MenuName = menuName.Value,
                    Language = menuName.Key.ToLower()
                });
            }
            menu.RestaurantId = restaurant.RestaurantId;
            _menuTranslationService.InsertRange(menu.MenuTranslations);
            _menuService.Insert(menu);
            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Restaurant-" + menu.RestaurantId + "\\" + "Menu-" + menu.MenuId, menuDto.Image, menu.MenuId.ToString());
        }
Esempio n. 5
0
        public void AddFeature(FeatureDto featureDto, long adminId, string path)
        {
            var user = _userService.Find(adminId);

            if (user == null)
            {
                throw new NotFoundException(ErrorCodes.UserNotFound);
            }
            ValidateFeature(featureDto, adminId);

            var feature = Mapper.Map <Feature>(featureDto);

            feature.CreationBy = adminId;
            feature.CreateTime = DateTime.Now;
            feature.IsActive   = true;
            foreach (var featureControlDto in featureDto.FeatureControl)
            {
                feature.FeatureControls.Add(new FeatureControl
                {
                    Control     = featureControlDto.Control,
                    ControlType =
                        featureControlDto.Control == Enums.Control.ListOfText ||
                        featureControlDto.Control == Enums.Control.ListOfTextAndImage ||
                        featureControlDto.Control == Enums.Control.ListOfAvailable
                            ? Enums.ControlType.Single
                            : Enums.ControlType.None,
                    Order    = featureControlDto.Order,
                    IsActive = true
                });
            }
            //foreach (var featureName in featureDto.FeatureNameDictionary)
            //{
            //    feature.FeatureTranslations.Add(new FeatureTranslation
            //    {
            //        FeatureName = featureName.Value,
            //        Language = featureName.Key.ToLower()
            //    });
            //}
            //feature.FeatureDetails.ForEach(x =>
            //{
            //    x.CreationBy = adminId;
            //    x.CreateTime = DateTime.Now;
            //});
            //feature.FeatureDetails.ForEach(x => _featureDetailTranslationService.InsertRange(x.FeatureDetailTranslations));
            //_featureDetailService.InsertRange(feature.FeatureDetails);
            _featureControlService.InsertRange(feature.FeatureControls);
            _featureTranslationService.InsertRange(feature.FeatureTranslations);
            _featureService.Insert(feature);

            foreach (var restaurantDto in featureDto.Restaurants)
            {
                var restaurant = _restaurantService.Find(restaurantDto.RestaurantId);
                restaurant.Feature = feature;
                _restaurantService.Update(restaurant);
            }

            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Feature-" + feature.FeatureId, featureDto.Image, feature.FeatureId.ToString());
        }
Esempio n. 6
0
        public HotelDto CreateHotel(HotelDto hotelDto, int userId, int tenantId, List <MemoryStream> files, string path)
        {
            if (GetHotel(hotelDto.HotelId, tenantId) != null)
            {
                return(EditHotel(hotelDto, userId, tenantId, files, path, 1));
            }
            ValidateHotel(hotelDto, tenantId);
            var hotelObj = Mapper.Map <Hotel>(hotelDto);

            foreach (var hotelName in hotelDto.TitleDictionary)
            {
                hotelObj.HotelTranslations.Add(new HotelTranslation
                {
                    Title       = hotelName.Value,
                    Description = hotelDto.DescriptionDictionary[hotelName.Key],
                    Language    = hotelName.Key,
                });
            }

            hotelObj.TenantId      = tenantId;
            hotelObj.CityId        = hotelDto.CityId;
            hotelObj.Latitude      = hotelDto.Latitude;
            hotelObj.Longitude     = hotelDto.Longitude;
            hotelObj.Star          = hotelDto.Star;
            hotelObj.CreationTime  = Strings.CurrentDateTime;
            hotelObj.CreatorUserId = userId;
            hotelObj.CurrencyId    = hotelDto.CurrencyId;


            //foreach (var roleper in hotelDto.HotelFeature)
            //{
            //    hotelObj.HotelFeature.Add(new HotelFeature
            //    {
            //        FeatureId = roleper.FeatureId
            //    });
            //}
            _hotelFeatureService.InsertRange(hotelObj.HotelFeature);

            _hotelTranslationService.InsertRange(hotelObj.HotelTranslations);
            _hotelService.Insert(hotelObj);

            SaveChanges();
            var imageId = 1;

            foreach (var memoryStream in files)
            {
                _manageStorage.UploadImage(path + "\\" + "Hotel-" + hotelObj.HotelId, memoryStream, imageId.ToString());
                imageId++;
            }
            return(hotelDto);
        }
Esempio n. 7
0
        public OfferDto CreateOffer(OfferDto OfferDto, int userId, int tenantId, List <MemoryStream> files, string path)
        {
            if (GetOffer(OfferDto.OfferId, tenantId) != null)
            {
                return(EditOffer(OfferDto, userId, tenantId, files, path, 1));
            }
            ValidateOffer(OfferDto, tenantId);
            var OfferObj = Mapper.Map <Offer>(OfferDto);

            foreach (var OfferName in OfferDto.TitleDictionary)
            {
                OfferObj.OfferTranslations.Add(new OfferTranslation
                {
                    Title       = OfferName.Value,
                    Description = OfferDto.DescriptionDictionary[OfferName.Key],
                    Language    = OfferName.Key,
                });
            }

            OfferObj.TenantId      = tenantId;
            OfferObj.CityId        = OfferDto.CityId;
            OfferObj.TypeId        = OfferDto.TypeId;
            OfferObj.HotelId       = OfferDto.HotelId;
            OfferObj.HotelTitle    = OfferDto.HotelTitle;
            OfferObj.DaysCount     = OfferDto.DaysCount;
            OfferObj.NigthsCount   = OfferDto.NigthsCount;
            OfferObj.Star          = OfferDto.Star;
            OfferObj.PriceBefore   = OfferDto.PriceBefore;
            OfferObj.Price         = OfferDto.Price;
            OfferObj.CreationTime  = Strings.CurrentDateTime;
            OfferObj.CreatorUserId = userId;
            OfferObj.CurrencyId    = OfferDto.CurrencyId;

            OfferObj.DateFrom = OfferDto.DateFrom;
            OfferObj.DateTo   = OfferDto.DateTo;


            _OfferTranslationService.InsertRange(OfferObj.OfferTranslations);
            _OfferService.Insert(OfferObj);

            SaveChanges();
            var imageId = 1;

            foreach (var memoryStream in files)
            {
                _manageStorage.UploadImage(path + "\\" + "Offer-" + OfferObj.OfferId, memoryStream, imageId.ToString());
                imageId++;
            }
            return(OfferDto);
        }
Esempio n. 8
0
        public TourDto CreateTour(TourDto TourDto, int userId, int tenantId, List <MemoryStream> files, string path)
        {
            if (GetTour(TourDto.TourId, tenantId) != null)
            {
                return(EditTour(TourDto, userId, tenantId, files, path, 1));
            }
            ValidateTour(TourDto, tenantId);
            var TourObj = Mapper.Map <Tour>(TourDto);

            foreach (var TourName in TourDto.TitleDictionary)
            {
                TourObj.TourTranslations.Add(new TourTranslation
                {
                    Title       = TourName.Value,
                    Description = TourDto.DescriptionDictionary[TourName.Key],
                    Language    = TourName.Key,
                });
            }

            TourObj.TenantId = tenantId;



            TourObj.StartFrom     = TourDto.StartFrom;
            TourObj.StartTo       = TourDto.StartTo;
            TourObj.HotelTitle    = TourDto.HotelTitle;
            TourObj.MekkaDays     = TourDto.MekkaDays;
            TourObj.MadinaDays    = TourDto.MadinaDays;
            TourObj.Price         = TourDto.Price;
            TourObj.CreationTime  = Strings.CurrentDateTime;
            TourObj.CreatorUserId = userId;
            TourObj.CurrencyId    = TourDto.CurrencyId;



            _TourTranslationService.InsertRange(TourObj.TourTranslations);
            _TourService.Insert(TourObj);

            SaveChanges();
            var imageId = 1;

            foreach (var memoryStream in files)
            {
                _manageStorage.UploadImage(path + "\\" + "Tour-" + TourObj.TourId, memoryStream, imageId.ToString());
                imageId++;
            }
            return(TourDto);
        }
Esempio n. 9
0
        public BackageDto CreateBackage(BackageDto BackageDto, int userId, int tenantId, List <MemoryStream> files, string path)
        {
            if (GetBackage(BackageDto.BackageId, tenantId) != null)
            {
                return(EditBackage(BackageDto, userId, tenantId, files, path, 1));
            }
            ValidateBackage(BackageDto, tenantId);
            var BackageObj = Mapper.Map <Backage>(BackageDto);

            foreach (var BackageName in BackageDto.TitleDictionary)
            {
                BackageObj.BackageTranslations.Add(new BackageTranslation
                {
                    Title       = BackageName.Value,
                    Description = BackageDto.DescriptionDictionary[BackageName.Key],
                    Language    = BackageName.Key,
                });
            }

            BackageObj.TenantId      = tenantId;
            BackageObj.CityId        = BackageDto.CityId;
            BackageObj.TypeId        = BackageDto.TypeId;
            BackageObj.HotelId       = BackageDto.HotelId;
            BackageObj.HotelTitle    = BackageDto.HotelTitle;
            BackageObj.DaysCount     = BackageDto.DaysCount;
            BackageObj.NigthsCount   = BackageDto.NigthsCount;
            BackageObj.Star          = BackageDto.Star;
            BackageObj.Price         = BackageDto.Price;
            BackageObj.CreationTime  = Strings.CurrentDateTime;
            BackageObj.CreatorUserId = userId;
            BackageObj.CurrencyId    = BackageDto.CurrencyId;



            _BackageTranslationService.InsertRange(BackageObj.BackageTranslations);
            _BackageService.Insert(BackageObj);

            SaveChanges();
            var imageId = 1;

            foreach (var memoryStream in files)
            {
                _manageStorage.UploadImage(path + "\\" + "Backage-" + BackageObj.BackageId, memoryStream, imageId.ToString());
                imageId++;
            }
            return(BackageDto);
        }
Esempio n. 10
0
        public void AddRestaurant(RestaurantDTO restaurantDto, string path, long userId)
        {
            ValidateRestaurant(restaurantDto, userId);

            var restaurantType = _restaurantTypeService.Find(restaurantDto.RestaurantTypeId);


            Restaurant restaurant = new Restaurant
            {
                RestaurantTypeId       = restaurantDto.RestaurantTypeId,
                IsActive               = false,
                RestaurantTranslations = new List <RestaurantTranslation>(),
                AdminId = userId,
                //WaitersLimit = restaurantDto.WaitersLimit
            };

            foreach (var restaurantName in restaurantDto.RestaurantNameDictionary)
            {
                restaurant.RestaurantTranslations.Add(new RestaurantTranslation
                {
                    Language              = restaurantName.Key.ToLower(),
                    RestaurantName        = restaurantName.Value,
                    RestaurantDescription = restaurantDto.RestaurantDescriptionDictionary[restaurantName.Key]
                });
            }
            restaurant.RestaurantAdmin = new RestaurantAdmin
            {
                UserName  = restaurantDto.RestaurantAdminUserName,
                Password  = PasswordHelper.Encrypt(restaurantDto.RestaurantAdminPassword),
                Role      = Enums.RoleType.RestaurantAdmin,
                IsDeleted = false,
                IsActive  = true
            };
            restaurant.BackgroundId = Strings.BackgroundId;
            //_userService.Insert(restaurant.RestaurantAdmin);
            _restaurantAdminService.Insert(restaurant.RestaurantAdmin);
            _restaurantTranslationService.InsertRange(restaurant.RestaurantTranslations);
            _restaurantService.Insert(restaurant);
            SaveChanges();
            restaurant.RestaurantAdmin.RestaurantId = restaurant.RestaurantId;
            _restaurantAdminService.Update(restaurant.RestaurantAdmin);
            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Restaurant-" + restaurant.RestaurantId, restaurantDto.Image,
                                       restaurant.RestaurantId.ToString());
        }
Esempio n. 11
0
        public void AddBackground(BackgroundDto backgroundDto, string path)
        {
            var background = Mapper.Map <Background>(backgroundDto);

            background.CreationTime         = DateTime.Now;
            background.LastModificationTime = DateTime.Now;
            background.DeletionTime         = DateTime.Now;
            background.IsActive             = true;
            _backgroundService.Insert(background);
            SaveChanges();

            var changeResturentBackground = _restaurantService.GetRestaurantByAdminId(backgroundDto.UserId);

            changeResturentBackground.BackgroundId = background.BackgroundId;
            _restaurantService.Update(changeResturentBackground);
            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Background", backgroundDto.Image, background.BackgroundId.ToString());
        }
Esempio n. 12
0
        public void AddTemplate(TemplateDTO templateDto, string path)
        {
            var template = Mapper.Map <Template>(templateDto);

            _templateService.Insert(template);
            SaveChanges();

            _manageStorage.UploadImage(path, templateDto.Image, template.TemplateID.ToString());
        }
Esempio n. 13
0
        public void AddBackground(FeaturesBackgroundDto backgroundDto, string path)
        {
            var background = Mapper.Map <FeaturesBackground>(backgroundDto);

            _backgroundService.Insert(background);
            SaveChanges();
            var admin = _adminService.Find(backgroundDto.UserId);

            admin.FeaturesBackgroundId = background.FeaturesBackgroundId;
            _adminService.Update(admin);
            SaveChanges();

            _manageStorage.UploadImage(path + "\\" + "Features Background", backgroundDto.Image, background.FeaturesBackgroundId.ToString());
        }
Esempio n. 14
0
        public void AddItem(ItemDTO itemDto, string path)
        {
            ValidateItem(itemDto);
            var category = _categoryService.Find(itemDto.CategoryId);

            if (category == null)
            {
                throw new NotFoundException(ErrorCodes.CategoryNotFound);
            }
            if (category.IsDeleted)
            {
                throw new ValidationException(ErrorCodes.CategoryDeleted);
            }
            var item = Mapper.Map <Item>(itemDto);

            if (Strings.SupportedLanguages.Any(lang => itemDto.Sizes.Any(x => _sizeTranslationService.CheckSizeNameTranslated(lang.ToLower(), x.SizeId))))
            {
                throw new ValidationException(ErrorCodes.SizeIsNotTranslated);
            }
            if (Strings.SupportedLanguages.Any(lang => itemDto.SideItems.Any(x => _sideItemTranslationService.CheckSideItemNameTranslated(lang.ToLower(), x.SideItemId))))
            {
                throw new ValidationException(ErrorCodes.SideItemIsNotTranslated);
            }

            foreach (var itemName in itemDto.ItemNameDictionary)
            {
                item.ItemTranslations.Add(new ItemTranslation
                {
                    ItemName        = itemName.Value,
                    ItemDescription = itemDto.ItemDescriptionDictionary[itemName.Key],
                    Language        = itemName.Key.ToLower()
                });
            }
            foreach (var sizeDto in itemDto.Sizes)
            {
                item.ItemSizes.Add(new ItemSize
                {
                    SizeId = sizeDto.SizeId,
                    ItemId = item.ItemId,
                    Price  = sizeDto.Price
                });
            }
            foreach (var sideItemDto in itemDto.SideItems)
            {
                item.ItemSideItems.Add(new ItemSideItem
                {
                    SideItemId = sideItemDto.SideItemId,
                    ItemId     = item.ItemId
                });
            }
            item.OrderNumber = 100000;
            //  item.OrderNumber = category.Items.Select(x => x.OrderNumber).Max();
            //item.CategoryId = categoryId;
            _itemSideItemService.InsertRange(item.ItemSideItems);
            _itemTranslationService.InsertRange(item.ItemTranslations);
            _itemSizeService.InsertRange(item.ItemSizes);
            _itemService.Insert(item);

            SaveChanges();
            _manageStorage.UploadImage(path + "\\" + "Restaurant-" + +category.Menu.RestaurantId + "\\" + "Menu-" + category.MenuId + "\\" + "Category-" + item.CategoryId + "\\Items", itemDto.Image, item.ItemId + "-1");
            _manageStorage.UploadImage(path + "\\" + "Restaurant-" + +category.Menu.RestaurantId + "\\" + "Menu-" + category.MenuId + "\\" + "Category-" + item.CategoryId + "\\Items", itemDto.Image2, item.ItemId + "-2");
            _manageStorage.UploadImage(path + "\\" + "Restaurant-" + +category.Menu.RestaurantId + "\\" + "Menu-" + category.MenuId + "\\" + "Category-" + item.CategoryId + "\\Items", itemDto.Image3, item.ItemId + "-3");
        }