public async Task <WrapperSimpleTypesDTO> EliminarChatMensaje(ChatsMensajesDTO chatMensajeParaEliminar) { if (chatMensajeParaEliminar == null) { throw new ArgumentNullException("No puedes eliminar un chatMensaje si chatMensajeParaEliminar es nulo!."); } if (chatMensajeParaEliminar.Consecutivo <= 0) { throw new ArgumentException("chatMensajeParaEliminar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); WrapperSimpleTypesDTO wrapperEliminarChatMensaje = await client.PostAsync <ChatsMensajesDTO, WrapperSimpleTypesDTO>("Chats/EliminarChatMensaje", chatMensajeParaEliminar); return(wrapperEliminarChatMensaje); }
public async Task <ChatsMensajesDTO> BuscarChatMensaje(ChatsMensajesDTO chatMensajeParaBuscar) { if (chatMensajeParaBuscar == null) { throw new ArgumentNullException("No puedes buscar un chatMensaje si chatMensajeParaBuscar es nulo!."); } if (chatMensajeParaBuscar.Consecutivo <= 0) { throw new ArgumentException("chatMensajeParaBuscar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); ChatsMensajesDTO chatMensajeBuscado = await client.PostAsync("Chats/BuscarChatMensaje", chatMensajeParaBuscar); return(chatMensajeBuscado); }
public async Task <List <ChatsMensajesDTO> > ListarChatsMensajes(ChatsMensajesDTO chatMensajeParaListar) { if (chatMensajeParaListar == null) { throw new ArgumentNullException("No puedes listar los chatsMensaje si chatMensajeParaListar es nulo!."); } if (chatMensajeParaListar.CodigoChatEnvia <= 0 || chatMensajeParaListar.CodigoChatRecibe <= 0 || chatMensajeParaListar.SkipIndexBase < 0 || chatMensajeParaListar.TakeIndexBase <= 0) { throw new ArgumentException("chatMensajeParaListar vacio y/o invalido!."); } IHttpClient client = ConfigurarHttpClient(); List <ChatsMensajesDTO> listaChatsMensajes = await client.PostAsync <ChatsMensajesDTO, List <ChatsMensajesDTO> >("Chats/ListarChatsMensajes", chatMensajeParaListar); return(listaChatsMensajes); }
public async Task <WrapperSimpleTypesDTO> CrearChatMensaje(ChatsMensajesDTO chatMensajeParaCrear) { if (chatMensajeParaCrear == null) { throw new ArgumentNullException("No puedes crear un chatMensaje si chatMensajeParaCrear es nula!."); } if (string.IsNullOrWhiteSpace(chatMensajeParaCrear.Mensaje) || chatMensajeParaCrear.CodigoChatEnvia <= 0 || chatMensajeParaCrear.CodigoChatRecibe <= 0) { throw new ArgumentException("chatMensajeParaCrear vacia y/o invalida!."); } IHttpClient client = ConfigurarHttpClient(); WrapperSimpleTypesDTO wrapperCrearChatMensaje = await client.PostAsync <ChatsMensajesDTO, WrapperSimpleTypesDTO>("Chats/CrearChatMensaje", chatMensajeParaCrear); return(wrapperCrearChatMensaje); }
public async Task <JsonResult> GetChatMessages(ChatsMensajesDTO chat) { Result <ChatsMensajesDTO> result = new Result <ChatsMensajesDTO>(); try { ChatsServices chatService = new ChatsServices(); result.list = await chatService.ListarChatsMensajes(chat); if (result.list == null) { return(Json(Helper.returnErrorList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(Helper.returnErrorList(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } }
public async Task <JsonResult> SaveMessage(ChatsMensajesDTO chatMessage) { Result <WrapperSimpleTypesDTO> result = new Result <WrapperSimpleTypesDTO>(); try { ChatsServices chatService = new ChatsServices(); result.obj = await chatService.CrearChatMensaje(chatMessage); if (result.obj == null) { return(Json(Helper.returnErrorSaveObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(Helper.returnErrorSaveObj(UserLoggedIn().PersonaDelUsuario.CodigoIdioma), JsonRequestBehavior.AllowGet)); } }
async Task CargarMensajes(int skipIndex, int takeIndex, bool isRefreshing = false) { if (!NoHayNadaMasParaCargar) { ChatsMensajesDTO chatMensaje = new ChatsMensajesDTO { CodigoChatEnvia = Chat.Consecutivo, CodigoChatRecibe = Chat.CodigoChatRecibe, SkipIndexBase = skipIndex, TakeIndexBase = takeIndex, ZonaHorariaGMTBase = _dateTimeHelper.DifferenceBetweenGMTAndLocalTimeZone }; if (isRefreshing && Mensajes != null) { chatMensaje.FechaFiltroBase = Mensajes.Max(x => x.ChatMensaje.FechaMensaje); } if (IsNotConnected) { return; } List <ChatsMensajesDTO> listaMensajes = await _chatsServices.ListarChatsMensajes(chatMensaje); if (listaMensajes != null) { if (listaMensajes.Count > 0) { using (await _lockeable.LockAsync()) { if (isRefreshing) { if (Mensajes == null) { Mensajes = new ObservableRangeCollection <ChatMensajesModel>(ChatMensajesModel.CrearListaMensajes(listaMensajes, Chat.CodigoChatRecibe)); } else { List <ChatMensajesModel> listaMensajesParaInsertar = ChatMensajesModel.CrearListaMensajes(listaMensajes, Chat.CodigoChatRecibe); foreach (ChatMensajesModel mensaje in listaMensajesParaInsertar) { Mensajes.Insert(0, mensaje); } } } else { listaMensajes.Reverse(); if (Mensajes == null) { Mensajes = new ObservableRangeCollection <ChatMensajesModel>(ChatMensajesModel.CrearListaMensajes(listaMensajes, Chat.CodigoChatRecibe)); } else { Mensajes.AddRange(ChatMensajesModel.CrearListaMensajes(listaMensajes, Chat.CodigoChatRecibe)); } } } } else { NoHayNadaMasParaCargar = listaMensajes.Count <= 0; } } } }
public ChatMensajesModel(ChatsMensajesDTO chatMensaje, int codigoChatDestino) { ChatMensaje = chatMensaje; CodigoChatDestino = codigoChatDestino; ConsecutivoMensaje = chatMensaje.Consecutivo; }