//TODO: Notification - V - TEST public void ReopenTicket() { if (!CheckSessionAccess()) { return; } //String ReopenText = "ToDo : Get reopen text from View!"; //ReopenText = ""; //View.ShowReopenError(); Domain.Enums.TicketMessageSendError SendError = Domain.Enums.TicketMessageSendError.none; //Boolean ChangeError = false; //if(String.IsNullOrEmpty(ReopenText)) // ChangeError = service.TicketChangeStatus(View.TicketId, Domain.Enums.TicketStatus.open); //else //SendError = service.MessageSendUser( // View.TicketId, // , // "", // true, // Domain.Enums.TicketStatus.open); Int64 NewMessageId = 0; Boolean Changed = service.TicketStatusModify(View.TicketId, Domain.Enums.TicketStatus.open, View.GetChangeStatusMessage(Domain.Enums.TicketStatus.open), true, Domain.Enums.MessageUserType.Partecipant, ref NewMessageId); //if (SendError != Domain.Enums.TicketMessageSendError.none) // View.ShowSendError(SendError); //else Int64 userId = service.UserGetIdfromPerson(UserContext.CurrentUserID); if (!Changed) { this.View.ShowChangeStatusError(true); //Begin Action List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetUser(userId)); Objects.Add(ModuleTicket.KVPgetTicket(View.TicketId)); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketStatusChanged, CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); //End Action SendNotification(NewMessageId, userId, ModuleTicket.NotificationActionType.StatusChanged); } else { this.InitView(); } //init view!!!!!! SE TUTTOP OK!!!! }
//TODO: notification - V - test public void SendMessage( String Text, String Preview, Boolean HideToUser, Domain.Enums.TicketStatus NewStatus, Domain.Enums.MessageType MsgType, Int64 DraftId) { if (!CheckSessionAccess()) { return; } if (!service.UserHasManResTicketPermission(View.TicketId)) { View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.NoPermission, this.CurrentCommunityId, ModuleTicket.InteractionType.None); View.ShowNoPermission(); } if (DraftId <= 0) { this.InitView(); return; } if (this.service.MessageCheckDraft(DraftId)) { this.InitView(); return; } Domain.Enums.TicketMessageSendError error = Domain.Enums.TicketMessageSendError.none; Int64 messageId = 0; Int64 userId = this.service.UserGetIdfromPerson(UserContext.CurrentUserID); if (NewStatus == Domain.Enums.TicketStatus.closeSolved || NewStatus == Domain.Enums.TicketStatus.closeUnsolved) { error = service.MessageSendMan(View.TicketId, Text, Preview, HideToUser, MsgType, View.UserType, false, ref messageId); service.TicketStatusModify(View.TicketId, NewStatus, View.GetChangeStatusMessage(NewStatus), true, View.UserType, ref messageId); //Begin Action List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetUser(userId)); Objects.Add(ModuleTicket.KVPgetTicket(View.TicketId)); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketStatusChanged, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); //End Action } else { service.TicketStatusModify(View.TicketId, NewStatus, View.GetChangeStatusMessage(NewStatus), false, View.UserType, ref messageId); error = service.MessageSendMan(View.TicketId, Text, Preview, HideToUser, MsgType, View.UserType, true, ref messageId); } if (error == Domain.Enums.TicketMessageSendError.none) { //Int64 userId = this.service.UserGetIdfromPerson(UserContext.CurrentUserID); //Begin Action List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetUser(userId)); Objects.Add(ModuleTicket.KVPgetMessage(messageId)); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.MessageSend, this.CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); //End Action //ToDo: Send Notification if (messageId > 0) { SendNotification(messageId, userId, ModuleTicket.NotificationActionType.MassageSend); } this.InitView(); } //else View.ShowSendError(error); }
//TODO: Notification - V - TEST public void SendMessage( string Text, string Preview, Boolean CloseMessage, Boolean IsSolved) { if (!CheckSessionAccess()) { return; } Domain.Enums.TicketStatus status = (IsSolved)? Domain.Enums.TicketStatus.closeSolved : Domain.Enums.TicketStatus.closeUnsolved; if (service.MessageCheckDraft(View.DraftMsgId)) { this.InitView(); return; } Int64 NewMessageId = View.DraftMsgId; Domain.Enums.TicketMessageSendError Errors = service.MessageSendUser(View.TicketId, Text, Preview, ref NewMessageId); //, CloseMessage, status); Boolean Changed = true; if (CloseMessage) { if (IsSolved) { Changed = service.TicketStatusModify(View.TicketId, Domain.Enums.TicketStatus.closeSolved, View.GetChangeStatusMessage(Domain.Enums.TicketStatus.closeSolved), false, Domain.Enums.MessageUserType.Partecipant, ref NewMessageId); } else { Changed = service.TicketStatusModify(View.TicketId, Domain.Enums.TicketStatus.closeUnsolved, View.GetChangeStatusMessage(Domain.Enums.TicketStatus.closeUnsolved), false, Domain.Enums.MessageUserType.Partecipant, ref NewMessageId); } } Int64 userId = service.UserGetIdfromPerson(UserContext.CurrentUserID); if (Errors != Domain.Enums.TicketMessageSendError.none && Errors != TicketMessageSendError.TicketClosed) { //Begin Action if (Changed) { List <KeyValuePair <int, String> > Objects = new List <KeyValuePair <int, string> >(); Objects.Add(ModuleTicket.KVPgetUser(userId)); Objects.Add(ModuleTicket.KVPgetTicket(View.TicketId)); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.TicketStatusChanged, CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, Objects); } List <KeyValuePair <int, String> > ObjectsMsg = new List <KeyValuePair <int, string> >(); ObjectsMsg.Add(ModuleTicket.KVPgetUser(userId)); ObjectsMsg.Add(ModuleTicket.KVPgetMessage(NewMessageId)); View.SendUserActions(service.ModuleID, ModuleTicket.ActionType.MessageSend, CurrentCommunityId, ModuleTicket.InteractionType.UserWithLearningObject, ObjectsMsg); //End Action View.ShowSendError(Errors); } else if (!Changed) { View.ShowChangeStatusError(false); } else { if (Errors == TicketMessageSendError.none) { SendNotification(NewMessageId, userId, ModuleTicket.NotificationActionType.MassageSend); } this.InitView(); View.ShowSendError(Errors); } }