public void LanguageAdd(lm.Comol.Core.DomainModel.Languages.BaseLanguageItem NewLanguage) { if (!CheckSessionAccess()) { return; } Save(false); this.UpdateView(NewLanguage); }
/// <summary> /// Recupera le lingue attualmente in uso nei Ticket /// </summary> /// <returns></returns> public IList <lm.Comol.Core.DomainModel.Languages.BaseLanguageItem> LanguagesGetCurrent() { IList <String> TkLanguages = (from Domain.liteTicket tk in Manager.GetIQ <Domain.liteTicket>() select tk.LanguageCode).Distinct().ToList(); IList <lm.Comol.Core.DomainModel.Languages.BaseLanguageItem> languages = null; if (TkLanguages.Any()) { try { languages = Manager.GetAllLanguages() .Where(l => TkLanguages.Contains(l.Code)) .Select(l => new lm.Comol.Core.DomainModel.Languages.BaseLanguageItem(l)) .ToList(); } catch (Exception ex) { } if (languages == null || !languages.Any()) { languages = new List <lm.Comol.Core.DomainModel.Languages.BaseLanguageItem>(); foreach (String lng in TkLanguages) { lm.Comol.Core.DomainModel.Languages.BaseLanguageItem bli = new lm.Comol.Core.DomainModel.Languages.BaseLanguageItem(); bli.Code = lng; bli.Name = lng; languages.Add(bli); } } } return(languages); }
/// <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! } }