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