Commit 4cef25d3 by gema

1. una vez creada una conversacion volvemos a la vista lista de conversacines…

1. una vez creada una conversacion volvemos a la vista lista de conversacines actualizada para ver la que acabamos de crear.
2. una vez resondido un mensaje volvemos a cargar la misma pagina de detalles de consulta para ver el mensaje que acabamos de enviar, vaciando el input text de la respuesta, ocultamos input y botón de respuesta y ponemos leyenda.
3. si la conversación tiene un estado distinto de "respuesta del nutri",  no puedo contestar por lo tanto ocultamos el input y el botón de responder y mostramos un texto leyenda.
parent 9f1201b6
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
[JsonProperty("state_ds")] [JsonProperty("state_ds")]
public string State { get; set; } public string State { get; set; }
[JsonProperty("state_id")]
public int StateId { get; set; }
[JsonProperty("messages")] [JsonProperty("messages")]
public IList<Message> Messages { get; set; } public IList<Message> Messages { get; set; }
......
...@@ -9,13 +9,41 @@ ...@@ -9,13 +9,41 @@
public DetailsNutriQuestionListViewModel(Conversation conversation) public DetailsNutriQuestionListViewModel(Conversation conversation)
{ {
Conversation = conversation; Conversation = conversation;
Title = Conversation.Subject;
/*
estado_id 1= pendiente
estado 2= respondido por cliente
estado 3= respondido por nutricionista
estado 4=cerrada
*/
/*solo muestro input y boton de respuesta si la consulta está "respondida por nutricionista*/
if (Conversation.StateId == 3)
{
/*uso "canloadmore" porque es un variable tipo bool definida ya en MvvmHelpers, es poco intuitiva
ya que tendría que ser algo tal que "isvisibleInput" */
CanLoadMore = true;
/*Pasarle un texto explicativo del uso de las conversaciones*/
Title = "";
}
else
{
CanLoadMore = false;
Title = "Si estás viendo este mensaje, es que todavía no puedes responder a la consulta. Cada consulta a tu nutricionista tiene un máximo de dos respuestas por tu parte. Una vez escrito un mensaje no podrás volver a contestar hasta que tu nutricionista haya leido y contestado tu mensaje anterior. Una vez sobrepasado el límite de mensajes la consulta pasa a estado cerrado y no se podra seguir conversando. Si te quedas con más dudas tendrás que crear una consulta nueva.";
}
/* Title = Conversation.Subject;*/
if (Conversation.Messages == null) if (Conversation.Messages == null)
Conversation.Messages = new Message[0]; Conversation.Messages = new Message[0];
} }
public DetailsNutriQuestionListViewModel() { Conversation = new Conversation(); }
public Conversation Conversation { get; private set; } public Conversation Conversation { get; private set; }
...@@ -34,7 +62,8 @@ ...@@ -34,7 +62,8 @@
OnPropertyChanged("Conversation"); OnPropertyChanged("Conversation");
// Cambiar título // Cambiar título
Title = Conversation.Subject; /*Title = Conversation.Subject;*/
} //endif } //endif
IsBusy = false; IsBusy = false;
......
...@@ -43,9 +43,9 @@ namespace inutralia.Views.NutriQuestion ...@@ -43,9 +43,9 @@ namespace inutralia.Views.NutriQuestion
{ {
await ViewModel.SaveData(subjectValue, messageValue); await ViewModel.SaveData(subjectValue, messageValue);
await DisplayAlert("Exito", "El mensaje se ha enviado correctamente.", "Entendido"); await DisplayAlert("Exito", "La consulta se ha enviado correctamente.", "Entendido");
(App.Current.MainPage as RootPage).Navigate<HomeView>(); (App.Current.MainPage as RootPage).Navigate<NutriQuestionListView>();
} }
......
...@@ -73,11 +73,11 @@ ...@@ -73,11 +73,11 @@
Text="{Binding Created_at }"/> Text="{Binding Created_at }"/>
<Label Grid.Row="1" Grid.Column="1" <!-- <Label Grid.Row="1" Grid.Column="1"
XAlign="End" XAlign="End"
FontSize="Micro" FontSize="Micro"
TextColor="#000000" TextColor="#000000"
Text="{Binding Read_message}"/> Text="{Binding Read_message}"/>-->
</Grid> </Grid>
</ViewCell> </ViewCell>
...@@ -110,14 +110,25 @@ ...@@ -110,14 +110,25 @@
Placeholder="Escribe un mensaje.." Placeholder="Escribe un mensaje.."
x:Name="messageEntry" x:Name="messageEntry"
HeightRequest="45" HeightRequest="45"
VerticalOptions="FillAndExpand" /> VerticalOptions="FillAndExpand"
IsVisible="{Binding CanLoadMore}"/>
<Button Text="ENVIAR >" <Button Text="ENVIAR >"
Clicked="OnSendButtonClicked" Clicked="OnSendButtonClicked"
HorizontalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"
BackgroundColor="#333333" BackgroundColor="#333333"
TextColor="#ffffff" TextColor="#ffffff"
Margin="0,30,0,0" /> Margin="0,30,0,0"
x:Name="btnEnviar"
IsVisible="{Binding CanLoadMore}"/>
<Label
FontSize="Micro"
TextColor="#000000"
HorizontalTextAlignment="Start"
x:Name="infoText"
Text="{Binding Title }"/>
</StackLayout> </StackLayout>
</Grid> </Grid>
......
...@@ -39,9 +39,16 @@ namespace inutralia.Views.NutriQuestion ...@@ -39,9 +39,16 @@ namespace inutralia.Views.NutriQuestion
{ {
await ViewModel.saveData(messageValue); await ViewModel.saveData(messageValue);
await DisplayAlert("Exito", "El mensaje se ha enviado correctamente.", "Entendido"); await DisplayAlert("Exito", "El mensaje se ha enviado correctamente. Podras volver a escribir una vez te haya respondido un nutricionista. ", "Entendido");
/*Una vez envio mensaje y recargo la misma pagina para verlo en el listado, vacio el input de enviar mensaje, oculto el input, el botón y pongo el texto informativo.*/
messageEntry.Text = "";
messageEntry.IsVisible = false;
btnEnviar.IsVisible = false;
infoText.Text="Si estás viendo este mensaje, es que todavía no puedes responder a la consulta. Cada consulta a tu nutricionista tiene un máximo de dos respuestas por tu parte. Una vez escrito un mensaje no podrás volver a contestar hasta que tu nutricionista haya leido y contestado tu mensaje anterior. Una vez sobrepasado el límite de mensajes la consulta pasa a estado cerrado y no se podra seguir conversando. Si te quedas con más dudas tendrás que crear una consulta nueva.";
(App.Current.MainPage as RootPage).Navigate<HomeView>(); await ViewModel.RefreshData();
/*(App.Current.MainPage as RootPage).Navigate<NutriQuestionListView>();*/
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment