예제 #1
0
        public IList <MasterGarment> GetBySelection(Silouhette silouhette, Fabric fabric, Pattern pattern, IList <EventType> selectedET, IList <ClosetGarment> closetGarments, IList <WishGarment> wishGarments)
        {
            fabricRepository = new FabricRepository();
            if (fabric == null || fabric.Id == 0)
            {
                fabric = fabricRepository.GetForSilouhette(silouhette, selectedET)[0];
            }
            if (pattern == null || pattern.Id == 0)
            {
                pattern = silouhette.AvailablePatterns[0];
            }
            List <int> eventTypesIds = new List <int>();

            foreach (EventType eventType in selectedET)
            {
                eventTypesIds.Add(eventType.Id);
            }

            ICriteria crit = Session.CreateCriteria(typeof(MasterGarment));

            ICriteria tags        = crit.CreateCriteria("Tags");
            ICriteria silouhettes = tags.CreateCriteria("Silouhette");

            silouhettes.Add(Expression.Eq("Id", silouhette.Id));

            ICriteria fabrics = tags.CreateCriteria("Fabric");

            fabrics.Add(Expression.Eq("Id", fabric.Id));

            ICriteria patterns = tags.CreateCriteria("Pattern");

            patterns.Add(Expression.Eq("Id", pattern.Id));

            int sum = 0;

            foreach (EventType et in selectedET)
            {
                sum += et.BinaryNumber;
            }

            crit.Add(Restrictions.Gt(Projections.SqlProjection("(this_.EventCode & " + sum + ") as bitWiseResult2", new[] { "bitWiseResult" }, new IType[] { NHibernateUtil.Int32 }), 0));

            foreach (ClosetGarment closetGarment in closetGarments)
            {
                crit.Add(Expression.Not(Expression.Eq("Id", closetGarment.Garment.Id)));
            }

            foreach (WishGarment wishGarment in wishGarments)
            {
                crit.Add(Expression.Not(Expression.Eq("Id", wishGarment.Garment.Id)));
            }

            crit.Add(Expression.Not(Expression.Eq("Id", 0)));
            crit.SetCacheable(true);
            crit.SetCacheRegion("Static");
            return(crit.List <MasterGarment>());
        }
예제 #2
0
 public UploadGarmentController(IClosetRepository closetRepository, IGarmentRepository garmentRepository, IUserGarmentRepository userGarmentRepository, IColorRepository colorRepository, IPatternRepository patternRepository, ISilouhetteRepository silouhetteRepository, IFabricRepository fabricRepository, IEventTypeRepository eventTypeRepository, IPreGarmentRepository pregarmentRepository)
 {
     this.closetRepository      = closetRepository;
     this.garmentRepository     = garmentRepository;
     this.userGarmentRepository = userGarmentRepository;
     this.colorRepository       = colorRepository;
     this.patternRepository     = patternRepository;
     this.silouhetteRepository  = silouhetteRepository;
     this.fabricRepository      = fabricRepository;
     this.eventTypeRepository   = eventTypeRepository;
     this.pregarmentRepository  = pregarmentRepository;
 }
예제 #3
0
 public GarmentSelectorController(IContentService contentService, IEventTypeRepository eventTypeRepository, ISilouhetteRepository silouhetteRepository, IPatternRepository patternRepository, IFabricRepository fabricRepository, IGarmentRepository garmentRepository, IRegisteredUserRepository registeredUserRepository, IWishListRepository wishListRepository, IClosetRepository closetRepository, IFashionFlavorRepository fashionFlavorRepository)
 {
     this.contentService           = contentService;
     this.silouhetteRepository     = silouhetteRepository;
     this.patternRepository        = patternRepository;
     this.garmentRepository        = garmentRepository;
     this.fabricRepository         = fabricRepository;
     this.registeredUserRepository = registeredUserRepository;
     this.wishListRepository       = wishListRepository;
     this.closetRepository         = closetRepository;
     this.fashionFlavorRepository  = fashionFlavorRepository;
     this.eventTypeRepository      = eventTypeRepository;
 }
예제 #4
0
 public MyGarmentsController(ICategoryRepository categoryRepository, IRegisteredUserRepository registeredUserRepository, IClosetRepository closetRepository, ISilouhetteRepository silouhetteRepository, IEventTypeRepository eventTypeRepository, IClosetOutfitViewRepository closetOutfitViewRepository, IClosetOutfitRepository closetOutfitRepository, IColorRepository colorRepository, IPatternRepository patternRepository, IFabricRepository fabricRepository, IUserGarmentRepository userGarmentRepository, IUserOutfitRepository userOutfitRepository, IGarmentRepository garmentRepository, IFriendRatingInvitationRepository friendRatingInvitationRepository)
 {
     this.categoryRepository               = categoryRepository;
     this.registeredUserRepository         = registeredUserRepository;
     this.closetRepository                 = closetRepository;
     this.silouhetteRepository             = silouhetteRepository;
     this.eventTypeRepository              = eventTypeRepository;
     this.closetOutfitViewRepository       = closetOutfitViewRepository;
     this.closetOutfitRepository           = closetOutfitRepository;
     this.colorRepository                  = colorRepository;
     this.patternRepository                = patternRepository;
     this.fabricRepository                 = fabricRepository;
     this.userGarmentRepository            = userGarmentRepository;
     this.userOutfitRepository             = userOutfitRepository;
     this.garmentRepository                = garmentRepository;
     this.friendRatingInvitationRepository = friendRatingInvitationRepository;
 }
예제 #5
0
 public BuildYourClosetController(IFashionFlavorRepository repository, IStylePhotographRepository stylePhotographRepository, IBrandSetRepository brandSetRepository, IWordingRepository wordingRepository, IEventTypeRepository eventTypeRepository, ISilouhetteRepository silouhetteRepository, IPatternRepository patternRepository, IGarmentRepository garmentRepository, IRegisteredUserRepository registeredUserRepository, IWishListRepository wishListRepository, IClosetRepository closetRepository, IUserSizeRepository userSizeRepository, IFabricRepository fabricRepository, ISecurityQuestionRepository securityQuestionRepository, IZipCodeRepository zipCodeRepository)
 {
     this.fashionFlavorRepository    = repository;
     this.stylePhotographRepository  = stylePhotographRepository;
     this.brandSetRepository         = brandSetRepository;
     this.wordingRepository          = wordingRepository;
     this.eventTypeRepository        = eventTypeRepository;
     this.silouhetteRepository       = silouhetteRepository;
     this.patternRepository          = patternRepository;
     this.garmentRepository          = garmentRepository;
     this.registeredUserRepository   = registeredUserRepository;
     this.wishListRepository         = wishListRepository;
     this.closetRepository           = closetRepository;
     this.userSizeRepository         = userSizeRepository;
     this.fabricRepository           = fabricRepository;
     this.securityQuestionRepository = securityQuestionRepository;
     this.zipCodeRepository          = zipCodeRepository;
 }
예제 #6
0
 public FabricBAL(IFabricRepository FabricRepository)
 {
     _FabricRepository = FabricRepository;
 }
예제 #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FabricsService"/> class.
 /// </summary>
 /// <param name="fabricService">Fabric Service.</param>
 public FabricsService(IFabricRepository fabricRepository)
 {
     this.fabricRepository = fabricRepository;
 }