public void SetnotificationSettings(Domain.Enums.MailSettings creatorSettings, Domain.Enums.MailSettings ownerSettings) { //SettingsPortal settingsPortal = service.PortalSettingsGet(); //if (!(settingsPortal.IsNotificationUserActive && settingsPortal.IsNotificationManActive)) // return; ////Se DISABLED, SOLO per il creator corrente (no behalf) //if (ownerSettings != MailSettings.DISABLED) //{ // service.NotificationSetTicketOwner(View.TicketId, ownerSettings); //} //service.NotificationSetTicketCreatorCurrent(View.TicketId, creatorSettings); //Se DISABLED, SOLO per il creator corrente (no behalf) if (ownerSettings != MailSettings.DISABLED) { bool IsOwner = creatorSettings == MailSettings.DISABLED; service.NotificationSetTicketOwner(View.TicketId, ownerSettings, IsOwner); } if (creatorSettings != MailSettings.DISABLED) { service.NotificationSetTicketCreatorCurrent(View.TicketId, creatorSettings); } this.InitView(); }
/// <summary> /// Crea un utente da una persona /// </summary> /// <param name="PersonId">Id Persona</param> /// <param name="Settings">Impostazioni</param> /// <returns>New User Id</returns> public Domain.TicketUser UserCreateFromPerson( Int32 PersonId, Domain.Enums.MailSettings Settings) { litePerson Person = Manager.GetLitePerson(PersonId);//Manager.Get<Person>(PersonId); if (Person == null) { return(null); } TicketUser User = new TicketUser(); User.CreateMetaInfo(CurrentPerson, UC.IpAddress, UC.ProxyIpAddress); User.Person = Person; User.Enabled = true; User.MailChecked = false; //Viene messo a false, poichè NECESSITA comunque di registrazione e convalida via mail da pagine esterne. //VEDI: TokenValidate() Manager.SaveOrUpdate <TicketUser>(User); //Imposto i parametri globali per quell'utente, quando lo aggiungo come User nei Ticket... SettingsSetGlobalUser(User.Id, Settings, true, true); return(User); }
public void AttachmentsAddAlsoToCommunity( Domain.DTO.DTO_Ticket TkData, Domain.Enums.MailSettings ownerSettings, Domain.Enums.MailSettings creatorSettings, Boolean alwaysLastVersion) { if (!this.SaveTicket(TkData, ownerSettings, creatorSettings, true)) { return; } Domain.Message Msg = service.MessageGetFromTicketDraft(TkData.TicketId, TkData.CreatorId); if (Msg == null || View.DraftMsgId != Msg.Id) { return; } int UserID = (this.UserContext != null) ? UserContext.CurrentUserID : 0; lm.Comol.Core.FileRepository.Domain.ModuleRepository cRepository = service.GetRepositoryPermissions(CurrentCommunityId, UserID); List <lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions> actions = service.UploadAvailableActionsGet(MessageUserType.Partecipant, CurrentCommunityId, UserContext.CurrentUserID, cRepository); if (!actions.Contains(lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions.uploadtomoduleitemandcommunity)) { return; } //service.MessageDraftUpdate(HtmlText, PreviewText, View.CurrentTicketId, View.DraftMsgId); //------------------------------------------------------------------------------------- service.AttachmentsAddFiles(View.DraftMsgId, View.GetUploadedItems(Msg, RepositoryAttachmentUploadActions.uploadtomoduleitemandcommunity)); //------------------------------------------------------------------------------------- this.InitView(); }
public void AttachmentsAddInternal( Domain.DTO.DTO_Ticket TkData, Domain.Enums.MailSettings ownerSettings, Domain.Enums.MailSettings creatorSettings) { if (!this.SaveTicket(TkData, ownerSettings, creatorSettings, true)) { return; } Domain.Message message = service.MessageGetFromTicketDraft(TkData.TicketId, TkData.CreatorId); if (message == null || View.DraftMsgId != message.Id) { return; } List <lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions> FileActions = service.UploadAvailableActionsGet(Domain.Enums.MessageUserType.Partecipant, 0, 0, null); if (!FileActions.Contains(lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions.uploadtomoduleitem)) { return; } service.AttachmentsAddFiles(message.Id, View.GetUploadedItems(message, RepositoryAttachmentUploadActions.uploadtomoduleitem)); this.InitView(); }
/// <summary> /// Recupera un utente da una Person, /// SE non trova l'utente, lo crea da Person. /// </summary> /// <param name="PersonId">Id Person</param> /// <returns>Oggetto User</returns> public Domain.TicketUser UserGetfromPerson(int PersonId) { Domain.TicketUser User = Manager.GetAll <Domain.TicketUser>(tu => tu.Person != null && tu.Person.Id == PersonId).FirstOrDefault(); if (User == null) { Domain.Enums.MailSettings settings = Domain.Enums.MailSettings.Default; User = UserCreateFromPerson(PersonId, settings); } return(User); }
public void SetnotificationSettings(Domain.Enums.MailSettings creatorSettings) { Domain.SettingsPortal settingsPortal = service.PortalSettingsGet(); if (!(settingsPortal.IsNotificationUserActive && settingsPortal.IsNotificationManActive)) { return; } service.NotificationSetTicketCreatorExternal(View.TicketId, creatorSettings, View.CurrentUser.UserId); this.InitView(); }
public void AttachmentsLinkFromCommunity(Domain.DTO.DTO_Ticket TkData, Domain.Enums.MailSettings ownerSettings, Domain.Enums.MailSettings creatorSettings, List <ModuleActionLink> links) { if (!this.SaveTicket(TkData, ownerSettings, creatorSettings, true)) { return; } Domain.Message Msg = service.MessageGetFromTicketDraft(TkData.TicketId, TkData.CreatorId); if (Msg == null || View.DraftMsgId != Msg.Id) { return; } int UserID = (this.UserContext != null) ? UserContext.CurrentUserID : 0; lm.Comol.Core.FileRepository.Domain.ModuleRepository cRepository = service.GetRepositoryPermissions(CurrentCommunityId, UserID); List <lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions> actions = service.UploadAvailableActionsGet(MessageUserType.Partecipant, CurrentCommunityId, UserContext.CurrentUserID, cRepository); if (!actions.Contains(lm.Comol.Core.DomainModel.Repository.RepositoryAttachmentUploadActions.linkfromcommunity)) { return; } IList <Domain.TicketFile> attachments = service.AttachmentsLinkFiles(View.DraftMsgId, links); int addedfiles = 0; if (attachments != null) { addedfiles = attachments.Count(); } this.InitView(); }
public void SetnotificationSettings(Domain.Enums.MailSettings managerSettings) { service.NotificationSetTicket(View.TicketId, managerSettings, this.service.UserGetIdfromPerson(UserContext.CurrentUserID), false); this.InitView(); }
public void SaveSettings( bool enableUser, bool enableManager, Domain.Enums.MailSettings userSettings, Domain.Enums.MailSettings managerSettings) { if (!CheckSession()) { return; } GlobalAdminStatus SaveStatus = GlobalAdminStatus.SaveOK; //if (!service.PersonCurrentIsSysAdmin()) //{ // View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, 0, ModuleTicket.InteractionType.None); // View.ShowNoPermission(); // return; //} //Begin Action View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.SettingsGlobalModify, 0, ModuleTicket.InteractionType.UserWithLearningObject); //End Action Domain.SettingsPortal settings = View.Settings; bool successMailSet = service.MailSendSetConfig(enableUser, enableManager, userSettings, managerSettings); Domain.DTO.DTO_Access Access = new Domain.DTO.DTO_Access(); Access.CanManageCategory = settings.CanCreateCategory; Access.CanShowTicket = settings.CanShowTicket; Access.CanEditTicket = settings.CanEditTicket; //TO DO: Rinominare View.Permission in View.BehalfPermission? // O comunque rivedere quando sarà ora... bool successSet = service.SettingsGlobalSet( settings.HasExternalLimitation, settings.ExternalLimitation, settings.HasInternalLimitation, settings.InternalLimitation, settings.HasDraftLimitation, settings.DraftLimitation, settings.CommunityTypeSettings, 0, Access, View.Permissions);//0 ==> View.Settings.MailSettings, bool hasDraftLimitationError = (settings.DraftLimitation <= 0); bool hasInternalLimitationError = (settings.InternalLimitation < 0); bool hasExternalLimitationError = (settings.ExternalLimitation < 0); if (!(successSet && successMailSet)) { SaveStatus = GlobalAdminStatus.InternalError; } InitView(SaveStatus, hasDraftLimitationError, hasInternalLimitationError, hasExternalLimitationError); }
//TODO: notification - V - test public Boolean SaveTicket(Domain.DTO.DTO_Ticket TkData, Domain.Enums.MailSettings ownerSettings, Domain.Enums.MailSettings creatorSettings, Boolean ForUpload = false) { if (!CheckSessionAccess()) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, -1, ModuleTicket.InteractionType.None); View.ShowError(Domain.Enums.TicketCreateError.NoPermission); return(false); } Domain.Enums.TicketCreateError Error = Domain.Enums.TicketCreateError.none; Domain.Enums.TicketAddCondition Cond = service.PermissionTicketUsercanCreate(); if (Cond == Domain.Enums.TicketAddCondition.CheckCount) { if (TkData.IsDraft) { if (!(service.TicketGetNumDraft(TkData.CreatorId) <= Access.MaxDraft)) { Error = Domain.Enums.TicketCreateError.ToMuchDraft; } } else { if (!(service.TicketGetNumOpen(TkData.CreatorId) <= Access.MaxSended)) { Error = Domain.Enums.TicketCreateError.ToMuchTicket; } } } else if (Cond != Domain.Enums.TicketAddCondition.CanCreate) { Error = Domain.Enums.TicketCreateError.NoPermission; } if (Error != Domain.Enums.TicketCreateError.none) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None); View.ShowError(Error); return(false); } Error = service.TicketCreate(ref TkData); Boolean CanSave = false; if (Error == Domain.Enums.TicketCreateError.none) { CanSave = true; } else if (Error == Domain.Enums.TicketCreateError.NoCategory || Error == Domain.Enums.TicketCreateError.NoText || Error == Domain.Enums.TicketCreateError.NoTitle) { CanSave = ForUpload || TkData.IsDraft; } if (CanSave) { //Begin Action List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetUser(TkData.CreatorId)); Objects.Add(ModuleTicket.KVPgetTicket(TkData.TicketId)); if (TkData.IsDraft) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketCreateDraft, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); } else { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketCreate, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); } //End Action //NOTIFICATION //Se DISABLED, SOLO per il creator corrente (no behalf) if (ownerSettings != MailSettings.DISABLED) { bool IsOwner = creatorSettings == MailSettings.DISABLED; service.NotificationSetTicketOwner(TkData.TicketId, ownerSettings, IsOwner); } if (creatorSettings != MailSettings.DISABLED) { service.NotificationSetTicketCreatorCurrent(TkData.TicketId, creatorSettings); } //TODO: notification - test if (!TkData.IsDraft) { SendNotification(TkData.DraftMsgId, TkData.CreatorId, ModuleTicket.NotificationActionType.TicketSend); //SE inviato il DraftMsgdiventa il Primo messaggio. //Il Creator è sempre quello che "fa fede" sulle logiche di invio. } View.TicketCreated(TkData.TicketId, TkData.IsDraft); if (!ForUpload) { this.InitView(); } } else { View.ShowError(Error); return(false); } return(true); }