예제 #1
0
        public void CreateCategory()
        {
            var inputParameter = new Domain.Category("name", 1, "description");
            var command        = new CreateCategoryCommand {
                Name = inputParameter.Name, SortOrder = inputParameter.SortOrder, Description = inputParameter.Description
            };
            var dto = Substitute.For <ICategoryDto>();

            var datastore = Substitute.For <ICategoryDatastore>();

            datastore.Create(inputParameter).Returns <ICategoryDto>(dto);
            var taskDatastore = Substitute.For <ITaskDatastore>();

            CreateCategoryCommandHandler handler = new CreateCategoryCommandHandler(datastore, taskDatastore);
            GenericValidationCommandHandlerDecorator <CreateCategoryCommand> val =
                new GenericValidationCommandHandlerDecorator <CreateCategoryCommand>(
                    handler,
                    new List <IValidator <NForum.CQS.Commands.Categories.CreateCategoryCommand> > {
                new NForum.CQS.Validators.Categories.CreateCategoryValidator()
            }
                    );

            val.Execute(command);

            datastore.ReceivedWithAnyArgs(1).Create(inputParameter);
        }
예제 #2
0
        public void UpdateCategory()
        {
            var inputParameter = new Domain.Category("name", 1, "description");
            var command        = new UpdateCategoryCommand {
                Id = "1", Name = inputParameter.Name, SortOrder = inputParameter.SortOrder, Description = inputParameter.Description
            };
            var dto = Substitute.For <ICategoryDto>();

            var datastore = Substitute.For <ICategoryDatastore>();

            datastore.Create(inputParameter).Returns <ICategoryDto>(dto);
            var taskDatastore = Substitute.For <ITaskDatastore>();

            UpdateCategoryCommandHandler handler = new UpdateCategoryCommandHandler(datastore, taskDatastore);
            GenericValidationCommandHandlerDecorator <UpdateCategoryCommand> val =
                new GenericValidationCommandHandlerDecorator <UpdateCategoryCommand>(
                    handler,
                    new List <IValidator <UpdateCategoryCommand> > {
                new UpdateCategoryValidator(TestUtils.GetInt32IdValidator())
            }
                    );

            val.Execute(command);

            datastore.ReceivedWithAnyArgs(1).Update(inputParameter);
        }
예제 #3
0
 public ICategoryDto Create(Domain.Category category)
 {
     return(new GenericRepository <Dbos.Category>(this.database).Create(new Dbos.Category {
         Description = category.Description,
         Name = category.Name,
         SortOrder = category.SortOrder
     }).ToDto());
 }
예제 #4
0
        public ActionResult Create()
        {
            var model     = new Domain.Category();
            var categView = new Category();

            categView.InjectFrom(model);
            return(View(categView));
        }
예제 #5
0
 public ICategoryDto Create(Domain.Category category)
 {
     Dbos.Category c = new Dbos.Category {
         Name        = category.Name,
         Description = category.Description,
         SortOrder   = category.SortOrder
     };
     return(this.datastore.CreateCategory(c).ToDto());
 }
 public void Add(Domain.Category category)
 {
     using (var session = NHibernateHelper.CreateSession())
     {
         using (var tran = session.BeginTransaction())
         {
             session.Save(category);
             tran.Commit();
         }
     }
 }
        public ActionResult Add(string name)
        {
            var session  = DataConfig.GetSession();
            var category = new Domain.Category();

            category.Name = name;
            session.SaveOrUpdate(category);
            session.Transaction.Commit();
            return(Json(new
            {
                Id = category.Id
            }));
        }
예제 #8
0
        public CategoryDto(Domain.Category category)
        {
            Id   = category.Id;
            Name = category.Name;

            _categories = new List <CategoryDto>();
            ProductIds  = category.GetAllProductIdsInHierarchy();

            foreach (var child in category.Categories)
            {
                _categories.Add(new CategoryDto(child));
            }
        }
예제 #9
0
        public ActionResult Create(ViewModels.Category model)
        {
            if (ModelState.IsValid)
            {
                var dbModel = new Domain.Category();
                dbModel.InjectFrom(model);
                // categoryRepository.Add(dbModel);
                categoryService.AddCategory(dbModel);
                //transform the object
                //unitOfWork.Commit();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
예제 #10
0
 public ActionResult Edit(Domain.Category entity)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(View(entity));
         }
         _repository.Update(entity);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View(entity));
     }
 }
예제 #11
0
 public CategoryPageViewModel(Domain.Category category)
 {
     CategoryName = category.DisplayName;
 }
예제 #12
0
        public void Save(Boolean UpdateView, Boolean SaveUsers = true)
        {
            if (!CheckSessionAccess())
            {
                return;
            }

            if (!(Module.ManageCategory || Module.Administration))
            {
                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None);

                View.ShowNoPermission();
                return;
            }

            //Se la view non è valida, non faccio nulla (la view si arrangia a mostrare gli errori (Nome vuoto)
            if (!View.Validate())
            {
                return;
            }

            lm.Comol.Core.DomainModel.Languages.LanguageItem Lang = View.PreviousLanguage;

            Domain.Category Cat = View.Category;

            Domain.Enums.CategoryAddModifyError Error = service.CategoryModify(Cat.Id, Cat.Name, Cat.Description, Cat.Type, Lang);



            Domain.Enums.CategoryAssignersError ResError = Domain.Enums.CategoryAssignersError.none;

            if (SaveUsers)
            {
                ResError = service.CategoryUserUpdate(Cat.Id, View.UsersSettings);
            }


            if (Error == Domain.Enums.CategoryAddModifyError.none)
            {
                //Begin Action
                List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >();
                Objects.Add(ModuleTicket.KVPgetPerson(this.UserContext.CurrentUserID));
                Objects.Add(ModuleTicket.KVPgetCategory(Cat.Id));

                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.CategoryModify, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects);
                //End Action
            }


            if (ResError != Domain.Enums.CategoryAssignersError.none)
            {
                Domain.DTO.DTO_CategoryCheckResponse resp = service.CategoryUsersCheck(Cat.Id);

                if (!resp.PreviousAssigned)
                {
                    if (UpdateView)
                    {
                        this.InitView();
                        //this.UpdateView(null);
                    }

                    View.ShowForcedReassigned(resp);
                    return;
                }
            }

            if (Error == Domain.Enums.CategoryAddModifyError.none)
            {
                if (UpdateView)
                {
                    this.UpdateView(null);
                }

                View.ShowReassignError(ResError);
                return;
            }
            else
            {
                //Other error
            }
        }
 public void Remove(Domain.Category category)
 {
     throw new NotImplementedException();
 }
예제 #14
0
        /// <summary>
        /// Al primo caricamento della pagina!
        /// </summary>
        public void InitView()
        {
            if (!CheckSessionAccess())
            {
                return;
            }

            if (!(Module.ManageCategory || Module.Administration))
            {
                View.SendUserActions(service.ModuleID,
                                     ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None);

                View.ShowNoPermission();
                return;
            }

            Domain.Category Category = new Domain.Category();

            //View.CommunityCategories = service.CategoriesGetCommunity(true);

            if (View.CurrentCategoryId > 0)
            {
                //Categoria
                Domain.Category Cat = service.CategoryGetDetached(View.CurrentCategoryId, Domain.Enums.RolesLoad.all, false);
                if (Cat == null || Cat.Id <= 0 || Cat.IdCommunity != CurrentCommunityId)
                {
                    View.ShowWrongCategory();
                    return;
                }

                Domain.DTO.DTO_CategoryTypeComPermission Permission = service.CategoryTypeGetPermission(this.CurrentCommunityId);


                View.InitCategories(Permission, Cat.Type, Cat.IsDefault);
                View.Category = Cat;

                //Traduzioni
                List <lm.Comol.Core.DomainModel.Languages.LanguageItem> langs = new List <lm.Comol.Core.DomainModel.Languages.LanguageItem>();
                //List<Domain.DTO.DTO_CategoryTranslation> translations = new List<Domain.DTO.DTO_CategoryTranslation>();
                langs = (from t in Cat.Translations
                         where t.Deleted == BaseStatusDeleted.None
                         select new lm.Comol.Core.DomainModel.Languages.LanguageItem
                {
                    IsMultiLanguage = (t.LanguageId == TicketService.LangMultiID) ? true : false,
                    Id = t.LanguageId,
                    Code = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageCode.ToUpper() : t.LanguageCode,
                    Name = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageName.ToUpper() : t.LanguageName,
                    Status = DomainModel.Languages.ItemStatus.valid
                }).Distinct().ToList();
                //.OrderBy(li => li.IsMultiLanguage).ThenBy(li => li.Code).ToList();

                //.OrderBy(li => li.Code).ToList();
                //langs = langs.OrderBy(li => li.IsMultiLanguage).ToList();
                //.OrderBy(li => li.IsMultiLanguage).ThenBy(li => li.Code).Distinct().ToList();


                ////TEST!!!
                //String TEST = "";
                //foreach (lm.Comol.Core.DomainModel.Languages.LanguageItem _lng in langs)
                //{
                //    TEST += _lng.Code + " - " + _lng.Name + " - " + _lng.IsMultiLanguage + "/r/n";
                //}

                //langs = langs.OrderBy(li => li.IsMultiLanguage).ThenBy(li => li.Code).ToList();

                //TEST += "/r/n -------  /r/n";

                //foreach(lm.Comol.Core.DomainModel.Languages.LanguageItem _lng in langs)
                //{
                //    TEST += _lng.Code + " - " + _lng.Name + " - " + _lng.IsMultiLanguage + "/r/n";
                //}


                ////END TEST!!!



                lm.Comol.Core.DomainModel.Languages.LanguageItem current =
                    (from lm.Comol.Core.DomainModel.Languages.LanguageItem lng in langs
                     where lng.Id == TicketService.LangMultiID
                     select lng).FirstOrDefault();

                View.BindLanguages(service.LanguagesGetAvailableSys().Distinct().ToList(), langs, current);
                View.PreviousLanguage = current;


                //UTENTI
                IList <Domain.DTO.DTO_UserRole> roles = (from Domain.LK_UserCategory lkcat in Cat.UserRoles select new Domain.DTO.DTO_UserRole()
                {
                    User = lkcat.User, IsManager = lkcat.IsManager
                }).ToList();

                int Managercount = (from Domain.DTO.DTO_UserRole rl in roles where rl.IsManager == true select rl.IsManager).Count();

                if (Managercount <= 1)
                {
                    View.ShowDeleteManagers = false;
                }
                else
                {
                    View.ShowDeleteManagers = true;
                }

                //Begin Action
                List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >();
                Objects.Add(ModuleTicket.KVPgetPerson(this.UserContext.CurrentUserID));
                Objects.Add(ModuleTicket.KVPgetCategory(Cat.Id));

                View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.CategoryLoadManage, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects);
                //End Action


                View.AssociatedUsers = roles;

                View.ShowForcedReassigned(null);
            }
            else
            {
                View.RedirectToList();
                //Vai alla creazione!
                //View.Category = new Domain.Category();
            }


            //Category;
        }
예제 #15
0
 public Task SaveCategoryAsync(Domain.Category category)
 {
     throw new NotImplementedException();
 }
예제 #16
0
 public void Update(Domain.Category category)
 {
     Entities.Category categoryUpdated = _mapper.Map <Entities.Category>(category);
     _ctx.Categories.Attach(categoryUpdated);
     _ctx.Entry(categoryUpdated).State = EntityState.Modified;
 }
예제 #17
0
        /// <summary>
        /// Aggiornamento view per i vari postback...
        /// </summary>
        private void UpdateView(lm.Comol.Core.DomainModel.Languages.BaseLanguageItem NewLanguage)
        {
            if (!CheckSessionAccess())
            {
                return;
            }



            Domain.Category Category = new Domain.Category();

            //View.CommunityCategories = service.CategoriesGetCommunity(true);

            if (View.CurrentCategoryId > 0)
            {
                //Categoria
                Domain.Category Cat = service.CategoryGetDetached(View.CurrentCategoryId, Domain.Enums.RolesLoad.all, false);

                //Traduzioni
                List <lm.Comol.Core.DomainModel.Languages.LanguageItem> langs = new List <lm.Comol.Core.DomainModel.Languages.LanguageItem>();

                langs = (from t in Cat.Translations
                         where t.Deleted == BaseStatusDeleted.None
                         orderby t.LanguageCode
                         select new lm.Comol.Core.DomainModel.Languages.LanguageItem
                {
                    IsMultiLanguage = (t.LanguageId == TicketService.LangMultiID) ? true : false,
                    Id = t.LanguageId,
                    Code = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageCode.ToUpper() : t.LanguageCode,
                    Name = (t.LanguageId == TicketService.LangMultiID) ? t.LanguageName.ToUpper() : t.LanguageName,
                    Status = DomainModel.Languages.ItemStatus.valid
                }).Distinct().ToList();

                //langs.OrderBy(l => l.IsMultiLanguage).ThenBy(l => l.Name).ToList();

                lm.Comol.Core.DomainModel.Languages.LanguageItem current = View.CurrentLanguage;


                if (NewLanguage != null)
                {
                    current = new DomainModel.Languages.LanguageItem(NewLanguage);
                    langs.Add(current);
                }
                else if (current.Id != TicketService.LangMultiID)
                {
                    Domain.CategoryTranslation trn = (from Domain.CategoryTranslation ct in Cat.Translations where ct.LanguageId == current.Id select ct).FirstOrDefault();
                    Cat.Name        = trn.Name;
                    Cat.Description = trn.Description;
                }

                View.Category = Cat;

                View.BindLanguages(service.LanguagesGetAvailableSys(), langs, current);
                View.PreviousLanguage = current;

                //UTENTI
                IList <Domain.DTO.DTO_UserRole> roles = (from Domain.LK_UserCategory lkcat in Cat.UserRoles select new Domain.DTO.DTO_UserRole()
                {
                    User = lkcat.User, IsManager = lkcat.IsManager
                }).ToList();

                int Managercount = (from Domain.DTO.DTO_UserRole rl in roles where rl.IsManager == true select rl.IsManager).Count();

                if (Managercount <= 1)
                {
                    View.ShowDeleteManagers = false;
                }
                else
                {
                    View.ShowDeleteManagers = true;
                }

                View.AssociatedUsers = roles;

                View.ShowForcedReassigned(null);
            }
            else
            {
                //Error!
            }
        }
예제 #18
0
 public object Save(Domain.Category entity)
 {
     throw new NotImplementedException();
 }
예제 #19
0
 public void Update(Domain.Category updatedDomain)
 {
     base.Save <Data.Models.Category>(updatedDomain.ToEntity(), updatedDomain.Id);
 }
예제 #20
0
 public Domain.Category Add(Domain.Category domain)
 {
     return(base.Add <Data.Models.Category>(domain.ToEntity()).ToDomain());
 }
예제 #21
0
        //public IEnumerable<IForumDto> ReadByPath(IEnumerable<String> idStrings) {
        //	ObjectId[] ids = idStrings.Select(i => ObjectId.Parse(i)).ToArray();
        //	return this.forums
        //		.Find(
        //			Builders<Dbos.Forum>
        //				.Filter
        //				.In(f => f.Id, ids)
        //			)
        //		.ToList()
        //		.Select(f => f.ToDto());
        //}

        public ICategoryDto Update(Domain.Category category)
        {
            throw new NotImplementedException();
        }
예제 #22
0
 public CategoryItemViewModel(Domain.Category category)
 {
     Image       = category.DefaultImage() ?? string.Empty;
     DisplayName = category.DisplayName;
     Link        = category.ContentLink.ContentUrl();
 }
예제 #23
0
 public void SaveOrUpdate(Domain.Category entity)
 {
     throw new NotImplementedException();
 }
예제 #24
0
        public async Task Add(Domain.Category category)
        {
            var categoryToAdd = _mapper.Map <Entities.Category>(category);

            await _ctx.AddAsync(categoryToAdd);
        }