Exemple #1
0
        private void SendNotification(Int64 messageId, Int64 tkUserId, ModuleTicket.NotificationActionType actionType)
        {
            SettingsPortal settingsPortal = service.PortalSettingsGet();

            if (!(settingsPortal.IsNotificationUserActive && settingsPortal.IsNotificationManActive))
            {
                return;
            }

            //test ID community
            int currentCommunityId = UserContext.CurrentCommunityID;

            NotificationAction action = new NotificationAction();

            action.IdCommunity  = currentCommunityId;
            action.IdObject     = messageId;
            action.IdObjectType = (long)ModuleTicket.ObjectType.Message;
            action.ModuleCode   = ModuleTicket.UniqueCode;

            action.IdModuleUsers = new List <long>();
            action.IdModuleUsers.Add(tkUserId);

            action.IdModuleAction = (long)actionType;

            //IList<NotificationAction> actions = new List<NotificationAction>();
            //actions.Add(action);

            //action.IdModuleAction = (long) ModuleTicket.MailSenderActionType.TicketSendMessageMan;

            View.SendNotification(action, UserContext.CurrentUserID);
        }
Exemple #2
0
        //public Int32 GetIdModule()
        //{
        //    if (idModule == 0)
        //        idModule = Manager.GetModuleID(lm.Comol.Core.BaseModules.Tickets.ModuleTicket.UniqueCode);
        //    return idModule;
        //}



        /// <summary>
        /// Indica SE l'utente PUO' creare un Ticket.
        /// </summary>
        /// <returns></returns>
        /// <remarks>
        /// Si basa sui ticket "aperti" (tutti quelli creati dall'utente che non sono in BOZZA nè CHIUSI)
        /// ed alla configurazione di sistema (es: max 5 Ticket per utente)
        /// </remarks>
        public Tickets.Domain.Enums.TicketAddCondition PermissionTicketUsercanCreate()
        {
            Domain.DTO.DTO_Access Access = this.SettingsAccessGet(true);

            if (!Access.CanEditTicket)
            {
                return(Domain.Enums.TicketAddCondition.NoPermission);
            }

            if (this.CurrentUser == null)
            {
                return(Domain.Enums.TicketAddCondition.NoUser);
            }

            if (this.UserIsManagerOrResolver())
            {
                return(Domain.Enums.TicketAddCondition.CanCreate);
            }


            SettingsPortal settings = Manager.GetAll <SettingsPortal>().Skip(0).Take(1).ToList().FirstOrDefault();

            if (!settings.HasInternalLimitation)
            {
                return(Domain.Enums.TicketAddCondition.CanCreate);
            }

            return(Domain.Enums.TicketAddCondition.CheckCount);

            //Int64 CurrentUserId = this.CurrentUser.Id;

            //int countOpen = (from Ticket Tk in Manager.GetIQ<Ticket>()
            //                 where Tk.Creator.Id == CurrentUserId
            //                 && (Tk.Status == Domain.Enums.TicketStatus.open
            //                 || Tk.Status == Domain.Enums.TicketStatus.inProcess
            //                 || Tk.Status == Domain.Enums.TicketStatus.userRequest)
            //                 select Tk.Id).Count();

            //int countDraft = (from Ticket Tk in Manager.GetIQ<Ticket>() where Tk.Creator.Id == CurrentUserId && Tk.Status == Domain.Enums.TicketStatus.draft select Tk.Id).Count();

            //Tickets.Domain.Enums.TicketAddCondition Cond = Domain.Enums.TicketAddCondition.CanCreate;

            //if(countOpen)

            //return ;
        }
Exemple #3
0
        public Tickets.Domain.Enums.TicketAddCondition PermissionTicketUsercanCreateExternal()
        {
            SettingsPortal settings = Manager.GetAll <SettingsPortal>().Skip(0).Take(1).ToList().FirstOrDefault();

            if (settings == null)
            {
                settings = new SettingsPortal();
            }

            if (!settings.HasExternalLimitation)
            {
                return(Domain.Enums.TicketAddCondition.CanCreate);
            }
            else
            {
                return(Domain.Enums.TicketAddCondition.CheckCount);
            }
        }