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