示例#1
0
        public void SendLogin()
        {
            try
            {
                LoginGetDTO loginGetDTO = loginDAO.Login(LoginSendDTO);

                //Añadir Perfil obtenido del Servidor en la base de datos local
                Profile p = new Profile(loginGetDTO.Profile.Username, loginGetDTO.Profile.Name, loginGetDTO.Profile.Email, loginGetDTO.Profile.Phone, loginGetDTO.Profile.TOKEN);
                profileDAO.Insert(p);

                //Añadir Contactos obtenidos del Servidor en la base de datos local
                foreach (ContactSERVER contactSERVER in loginGetDTO.Contacts)
                {
                    Contact c = new Contact(contactSERVER.ContactID, contactSERVER.Username, contactSERVER.Name);
                    contactDAO.Insert(c);
                }

                //Añadir Chats obtenidos del Servidor en la base de datos local

                foreach (ChatSERVER chatSERVER in loginGetDTO.Chats)
                {
                    Chat c = new Chat(chatSERVER.ChatID, chatSERVER.ContactID, chatSERVER.Username, chatSERVER.Name);
                    chatDAO.Insert(c);
                }
            }
            catch (MyException e)
            {
                throw e;
            }
        }
示例#2
0
        public LoginGetDTO Login(LoginSendDTO LoginDTO)
        {
            //return: prefil entero (chats, contactos, perfil)
            string url = Cfg.ConnectionUrl + "/chat/login";

            var uri           = new Uri(string.Format(url, string.Empty));
            var LoginDTO_JSON = JsonConvert.SerializeObject(LoginDTO);
            var httpContent   = new StringContent(LoginDTO_JSON, Encoding.UTF8, "application/json");
            var response      = Client.PostAsync(uri, httpContent);

            try
            {
                response.Result.EnsureSuccessStatusCode();
                var content = response.Result.Content.ReadAsStringAsync();

                LoginGetDTO loginGetDTO = JsonConvert.DeserializeObject <LoginGetDTO>(content.Result);
                if (loginGetDTO.Profile == null)
                {
                    Error error = JsonConvert.DeserializeObject <Error>(content.Result);
                    throw new MyException(error.Code, error.Message);
                }
                else
                {
                    return(loginGetDTO);
                }
                //TokenGetDTO token = JsonConvert.DeserializeObject<TokenGetDTO>(content.Result);

                /*
                 * if (token.TOKEN == null)
                 * {
                 *  Error error = JsonConvert.DeserializeObject<Error>(content.Result);
                 *  throw new MyException(error.Code, error.Message);
                 * }
                 * else
                 * {
                 *  return token.TOKEN;
                 * }
                 */
            }
            catch (MyException e)
            {
                var   content = response.Result.Content.ReadAsStringAsync();
                Error error   = JsonConvert.DeserializeObject <Error>(content.Result);
                throw new MyException(error.Code, error.Message);
            }
        }