/// <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; }