Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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());
        }
Exemple #4
0
        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);
        }