/// <summary> /// Crea la chat tra due utenti, a meno che questa non ci sia già... /// </summary> /// <param name="StartUser"></param> /// <param name="TargetUser"></param> public static Guid CreateChat(InstantMessangerService.Ct1o1_User_DTO StartUser, InstantMessangerService.Ct1o1_User_DTO TargetUser) { Guid ChatKey; InstantMessangerService.IInstantMessengerService service = null; try { service = new InstantMessangerService.InstantMessengerServiceClient(); ChatKey = service.CreateChat(StartUser, TargetUser).Id; if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Close(); remoteService = null; } } catch (Exception ex) { if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Abort(); remoteService = null; } ChatKey = Guid.Empty; } return(ChatKey); }
/// <summary> /// Invia un messaggio recuperando i dati dalla view /// </summary> public void SendMessage()//Guid ChatId, Int32 SenderId, String Message) { InstantMessangerService.IInstantMessengerService service = null; try { service = new InstantMessangerService.InstantMessengerServiceClient(); service.SendMessage(_view.CurrentChatId, _view.CurrentUserId, _view.CurrentMessage); this._view.SetCurrentChat(service.GetChat(this._view.CurrentChatId, this._view.CurrentUserId)); if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Close(); remoteService = null; } } catch (Exception ex) { if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Abort(); remoteService = null; } } }
public static void DiscardAllChats(Int32 UserId) { InstantMessangerService.IInstantMessengerService service = null; try { service = new InstantMessangerService.InstantMessengerServiceClient(); service.DiscardAllChats(UserId); if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Close(); remoteService = null; } } catch (Exception ex) { if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Abort(); remoteService = null; } } }
/// <summary> /// Recupera l'elenco delle chat correnti /// </summary> public void SetUsers() { InstantMessangerService.IInstantMessengerService service = null; try { service = new InstantMessangerService.InstantMessengerServiceClient(); this._view.SetCurrentUsers(service.GetChats(_view.CurrentUserId)); if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Close(); remoteService = null; } } catch (Exception ex) { if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Abort(); remoteService = null; } } }
public void ManageNotifications(List <GroupMessages> messages, String moduleCode, Int32 idSenderUser, String ipAddress, String proxyIpAddress) { foreach (NotificationChannel channel in messages.Select(i => i.Channel).Distinct()) { switch (channel) { case NotificationChannel.Mail: SrvMailSender.iServiceMailSender service = GetMailServiceSender(GetMailQueueConfiguration(moduleCode)); if (service != null) { System.ServiceModel.ClientBase <SrvMailSender.iServiceMailSender> srv = null; try { foreach (GroupMessages message in messages) { service.SendMailFromGroupNotification(IstanceConfig.UniqueIdentifier, idSenderUser, moduleCode, message); } } catch (Exception ex) { logger.Log(LogLevel.Error, "Error on GetMailServiceSender", ex); if (service != null) { srv = (System.ServiceModel.ClientBase <SrvMailSender.iServiceMailSender>)service; srv.Abort(); srv = null; } service = null; throw new lm.Comol.Core.Msmq.Services.Notifications.Service.Exceptions.NotificationException(ex, Exceptions.ExceptionType.RemoteQueueUnavailable); } finally{ if (service != null) { srv = (System.ServiceModel.ClientBase <SrvMailSender.iServiceMailSender>)service; srv.Close(); srv = null; } } } break; } } }
/// <summary> /// Recupera il numero di chat correnti /// </summary> /// <param name="UserId"></param> /// <returns></returns> public static Int32 GetCurrentChatCount(Int32 UserId) { Int32 ChatCount; InstantMessangerService.IInstantMessengerService service = null; try { service = new InstantMessangerService.InstantMessengerServiceClient(); try { ChatCount = service.GetChats(UserId).Count(); } catch { ChatCount = 0; } if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Close(); remoteService = null; } } catch (Exception ex) { if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Abort(); remoteService = null; } ChatCount = 0; } return(ChatCount); }
public Boolean FileTransferNotifyToTransferService(String istance) { Boolean result = false; lm.Comol.Core.DomainModel.SrvFileTransfer.IFileMQService service = null; try { service = new lm.Comol.Core.DomainModel.SrvFileTransfer.FileMQServiceClient(); if (service != null) { System.ServiceModel.ClientBase <lm.Comol.Core.DomainModel.SrvFileTransfer.IFileMQService> srv = null; try { service.FileTransferNotification(istance); result = true; } catch (Exception ex) { if (service != null) { srv = (System.ServiceModel.ClientBase <lm.Comol.Core.DomainModel.SrvFileTransfer.IFileMQService>)service; srv.Abort(); srv = null; } service = null; } finally { if (service != null) { srv = (System.ServiceModel.ClientBase <lm.Comol.Core.DomainModel.SrvFileTransfer.IFileMQService>)service; srv.Close(); srv = null; } } } } catch (Exception mq) { } return(result); }
public SrvMailSender.iServiceMailSender GetMailServiceSender(MailConfig config) { SrvMailSender.iServiceMailSender remoteService = null; System.ServiceModel.ClientBase <SrvMailSender.iServiceMailSender> srv = null; try { remoteService = new SrvMailSender.iServiceMailSenderClient(GetBinding(config.Binding), new System.ServiceModel.EndpointAddress(config.Address)); } catch (Exception ex) { logger.Log(LogLevel.Error, "Error on GetMailServiceSender", ex); if (remoteService != null) { srv = (System.ServiceModel.ClientBase <SrvMailSender.iServiceMailSender>)remoteService; srv.Abort(); srv = null; } remoteService = null; throw new lm.Comol.Core.Msmq.Services.Notifications.Service.Exceptions.NotificationException(ex, Exceptions.ExceptionType.RemoteQueueUnavailable); } return(remoteService); }
/// <summary> /// Recupera i messaggi per la chat corrente e li invia alla view /// </summary> public void SetMessages() { if (this._view.CurrentChatId != null && this._view.CurrentChatId != Guid.Empty) { InstantMessangerService.IInstantMessengerService service = null; try { service = new InstantMessangerService.InstantMessengerServiceClient(); this._view.SetCurrentChat(service.GetChat(this._view.CurrentChatId, this._view.CurrentUserId)); if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Close(); remoteService = null; } } catch (Exception ex) { if (service != null) { System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService> remoteService = (System.ServiceModel.ClientBase <InstantMessangerService.IInstantMessengerService>)service; remoteService.Abort(); remoteService = null; } } } else { this._view.SetCurrentChat(null); } }