Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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));
            }
        }
Beispiel #6
0
        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));
            }
        }
Beispiel #7
0
        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;
 }