public void UpdateCommunity(Int32 CommunityId, Int64 SelectedCateId) { if (!CheckSessionAccess()) { return; } //values.CurrentCommunityId = CommunityId; if (CommunityId == -1) { CommunityId = UserContext.CurrentCommunityID; } String ComName = service.CommunityNameGet(CommunityId); if (String.IsNullOrEmpty(ComName) || ComName == TicketService.ComErrName) { ComName = TicketService.ComPortalName; CommunityId = 0; //values.TicketData.CommunityId = 0; } View.UpdateCommunity(CommunityId, ComName); initCommunitySelector(CommunityId); View.refreshCategory(service.CategoriesGetTreeDLL(CommunityId, CategoryTREEgetType.FilterUser), SelectedCateId); }
/// <summary> /// Inizializzazione View. /// NOTA: i valori dei filtri vanno allineati "a mano" tra view ed inizializzazione dell'oggetto "DTO_ListFilterUser": IN REVISIONE! /// </summary> public void InitView(Domain.Enums.TicketDraftDeleteError DeleteError = Domain.Enums.TicketDraftDeleteError.hide) { if (!CheckSessionAccess()) { return; } if (View.ViewCommunityId != UserContext.CurrentCommunityID) { View.ViewCommunityId = UserContext.CurrentCommunityID; } View.ShowDeletMessage(DeleteError); Domain.DTO.DTO_ListInit FiltersInit = new Domain.DTO.DTO_ListInit(); ////DDL Lingue //Filters.r_availableLanguages = service.LanguagesGetAvailableSys(); //Categorie disponibili - TO DO - FiltersInit.Categories = service.CategoriesGetTreeDLL(-1, CategoryTREEgetType.FilterUser); View.InitFilters(FiltersInit); //UpdateInfo(); //Begin Action List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetUser(service.UserGetIdfromPerson(UserContext.CurrentUserID))); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketListUser, View.ViewCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); //End Action //BindList(new Domain.DTO.DTO_ListFilterUser()); }
/// <summary> /// Inizializzazione View. /// NOTA: i valori dei filtri vengono inizializzati sui parametri impostati in: /// new Domain.DTO.DTO_ListFilter(); /// sia nella view che nel bind, senza che ci sia correlazione tra i due... :P /// </summary> public void InitView(Domain.Enums.TicketDraftDeleteError DeleteError = Domain.Enums.TicketDraftDeleteError.hide) { if (!CheckUserAccess()) { return; } View.ShowDeletMessage(DeleteError); Domain.DTO.DTO_ListInit FiltersInit = new Domain.DTO.DTO_ListInit(); ////DDL Lingue //Filters.r_availableLanguages = service.LanguagesGetAvailableSys(); //Categorie disponibili - TO DO - FiltersInit.Categories = service.CategoriesGetTreeDLL(-1, CategoryTREEgetType.System); View.InitFilters(FiltersInit); //UpdateInfo(); //BindList(new Domain.DTO.DTO_ListFilterUser()); }
public void InitView() { if (!CheckSessionAccess()) { return; } int ColUserId = this.UserContext.CurrentUserID; Domain.DTO.DTO_ManagerModify Data = service.TicketGetManager(View.TicketId, View.MassageFilter, View.MessagesOrder); if (Data.Errors == TicketEditManErrors.NoPermission)// (!service.UserHasManResTicketPermission(View.TicketId)) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None); View.ShowNoPermission(); } //Int32 CommunityId = UserContext.CurrentCommunityID; IList <Domain.DTO.DTO_CategoryTree> Categories = service.CategoriesGetTreeDLL(CurrentCommunityId, CategoryTREEgetType.FilterManager); //service.CategoryGetDDLManRes_ComCurrent(); View.UserType = Data.CurrentUserType; //this.CurrentCommunityId // lm.Comol.Core.FileRepository.Domain.ModuleRepository cRepository = service.GetRepositoryPermissions(CurrentCommunityId, ColUserId); //List<iCoreItemFileLink<long>> alreadyLinkedFiles = new List<iCoreItemFileLink<long>>(); ////= new List<iCoreItemFileLink<long>>(); ////Link di comunità già usati //if (Data.DraftMessage != null && Data.DraftMessage.Attachments.Any()) //{ // alreadyLinkedFiles = (from Domain.TicketFile fl in Data.DraftMessage.Attachments // where fl.File != null && fl.Link != null // select new dtoCoreItemFileLink<long>() // { // CreatedBy = fl.CreatedBy, // CreatedOn = fl.CreatedOn, // Deleted = fl.Deleted, // ItemFileLinkId = fl.Id, // StatusId = 0, // Link = fl.Link, // ModifiedBy = fl.ModifiedBy, // ModifiedOn = fl.ModifiedOn, // Owner = fl.CreatedBy, // isVisible = (fl.Deleted == BaseStatusDeleted.None && !fl.File.isDeleted), // File = fl.File // }).ToList<iCoreItemFileLink<long>>(); // //fl.Link.DestinationItem.ObjectLongID // // && fl.Visibility == Domain.Enums.FileVisibility.visible // //NO: se non è visibile, non lo è per l'utente, manager e resolver lo possono vedere E comunque non posso linkarlo nuovamente. //} //if (alreadyLinkedFiles == null) // alreadyLinkedFiles = new List<iCoreItemFileLink<long>>(); bool hasComManager = service.UsersCommunityHasManRes(CurrentCommunityId, Data.UserAssignedId); bool hasCommunity = (CurrentCommunityId > 0); View.InitView( Data, Categories, service.CategoryGetDTOCatTree(Data.CategoryCurrentId), service.UploadAvailableActionsGet( Data.CurrentUserType, CurrentCommunityId, ColUserId, cRepository), cRepository, CurrentCommunityId, (Data.DraftMessage == null ? 0 : Data.DraftMessage.Id), hasComManager, hasCommunity); if (Data.Errors == Domain.Enums.TicketEditManErrors.none) { View.DraftMsgId = Data.DraftMessage.Id; View.TicketId = Data.TicketId; } //Begin Action List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetPerson(UserContext.CurrentUserID)); Objects.Add(ModuleTicket.KVPgetTicket(View.TicketId)); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketLoadEditManRes, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); //End Action }
public void InitView() { if (!CheckUser()) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, -1, ModuleTicket.InteractionType.None); View.ShowCantCreate(false, false); return; } IList <Domain.DTO.DTO_CategoryTree> Categories = service.CategoriesGetTreeDLL(0, CategoryTREEgetType.System); if (Categories.Count <= 0) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, -1, ModuleTicket.InteractionType.None); View.ShowCantCreate(true, false); return; } Domain.Enums.TicketAddCondition Cond = service.PermissionTicketUsercanCreateExternal(); if (Cond == Domain.Enums.TicketAddCondition.NoPermission) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, -1, ModuleTicket.InteractionType.None); View.ShowCantCreate(false, false); return; } Domain.DTO.DTO_AddInit values = new Domain.DTO.DTO_AddInit(); values.CurrentUser = View.CurrentUser; //DDL Lingue values.availableLanguages = service.LanguagesGetAvailableSys(); int CommunityId = CurrentCommunityId; // View.ViewCommunityId;//this.UserContext.CurrentCommunityID; //Ticket (Se draft, altrimenti nuovo!) Domain.DTO.DTO_Ticket Tk = new Domain.DTO.DTO_Ticket(); if (View.CurrentTicketId > 0) { //Carico Ticket precedente Tk = service.TicketGetDraft(View.CurrentTicketId, View.CurrentUser.UserId); if (Tk != null && Tk.TicketId > 0) { values.TicketData = Tk; CommunityId = Tk.CommunityId; } } else { if (Cond == Domain.Enums.TicketAddCondition.CheckCount && (service.TicketGetNumDraft(values.CurrentUser.UserId) > Access.MaxDraft)) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, -1, ModuleTicket.InteractionType.None); View.ShowCantCreate(false, true); return; } else if (Cond == Domain.Enums.TicketAddCondition.NoPermission || Cond == Domain.Enums.TicketAddCondition.NoUser) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, -1, ModuleTicket.InteractionType.None); View.ShowCantCreate(false, false); return; } //Creo un nuovo Ticket in BOZZA Tk = service.TicketCreateNewDraft(View.CurrentUser.UserId, CommunityId, View.GetDraftTitle(), View.GetDraftPreview()); values.IsNew = true; } //SE Ticket == null o cercano di accedere ad un Ticket non valido //o non è possibile creare un nuovo Ticket. if (Tk == null || Tk.TicketId <= 0) { View.ShowCantCreate(false, false); return; } View.ViewCommunityId = CommunityId; View.CurrentTicketId = Tk.TicketId; View.DraftMsgId = Tk.DraftMsgId; //Categorie disponibili - TO DO - //values.Categories = service.CategoriesGetTreeDLLSystem(CommunityId); values.CurrentCommunityId = CommunityId; //String ComName = service.GetAltCommunityName(this.UserContext.CurrentCommunityID); //if(ComName == TicketService.ComErrName) // ComName = if (values.TicketData != null && values.TicketData.CategoryId > 0) { //Domain.DTO.DTO_CategoryTree SelectedCate = service.CategoryGetDTOCatTree(values.TicketData.CategoryId); View.refreshCategory(Categories, values.TicketData.CategoryId); } else { View.refreshCategory(Categories, service.CategoryDefaultGetID()); } View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.ExternalCreate, -1, ModuleTicket.InteractionType.None); //Impostazioni notifica //notification bool isNotifDef = false; values.CreatorMailSettings = Domain.Enums.MailSettings.none; values.OwnerMailSettings = service.MailSettingsGet(View.CurrentUser.UserId, Tk.TicketId, false, ref isNotifDef); values.IsDefaultNotOwner = isNotifDef; //values.IsBehalf = Tk.IsBehalf; //values.OwnerMailSettings = service.MailSettingsGet(Tk.OwnerId, Tk.TicketId, false, ref isdefaultOwner); View.InitView(values); }