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