public async void Cancel() { var action = await App.Current.MainPage.DisplayAlert("Pedido a Cancelar", string.Format("{0} Tanque(s)", Detalle.Cantidad), "Confirmar", "Regresar"); if (action) { var compra = new Compra { IdCompra = Settings.IdCompra, IdDistribuidor = Settings.IdDistribuidor }; var compracancelada = new CompraCancelada { IdCompra = Detalle.IdCompra, IdDistribuidor = Settings.IdDistribuidor, CanceladaPor = 2, IdCliente = (int)Detalle.IdCliente }; var response = await ApiServices.InsertarAsync <CompraCancelada>(compracancelada, new Uri(Constants.BaseApiAddress), "/api/Compras/Cancelar"); if (response.IsSuccess) { await App.Current.MainPage.DisplayAlert("Pedido a Cancelar", string.Format("Su pedido de {0} tanque(s) ha sido cancelado", Detalle.Cantidad), "Aceptar"); await App.Navigator.Navigation.PopToRootAsync(); } else { await App.Current.MainPage.DisplayAlert("Problemas", string.Format("Tenemos problemas para cancelarsu pedido de {0} tanque(s), trabajamos para solucionarlo", Detalle.Cantidad), "Aceptar"); //Settear las variables globales await App.Navigator.Navigation.PopToRootAsync(); } } }
public async void Cancel() { try { var action = await App.Current.MainPage.DisplayAlert("Pedido a Cancelar", string.Format("{0} Tanque(s)", Compra.Cantidad), "Confirmar", "Regresar"); if (action) { if (Compra.IdDistribuidor == null) { Compra.IdDistribuidor = 0; } var compracancelada = new CompraCancelada { IdCompra = Compra.IdCompra, IdDistribuidor = (int)Compra.IdDistribuidor, CanceladaPor = 1, IdCliente = (int)Compra.IdCliente }; var response = await ApiServices.InsertarAsync <CompraCancelada>(compracancelada, new Uri(Constants.BaseApiAddress), "api/Compras/Cancelar"); if (response.IsSuccess) { await App.Current.MainPage.DisplayAlert("Pedido a Cancelar", string.Format("Su pedido de {0} tanque(s) ha sido cancelado", Compra.Cantidad), "Aceptar"); Settings.Pedidos = false; await App.Navigator.Navigation.PopToRootAsync(); } else { await App.Current.MainPage.DisplayAlert("Problemas", string.Format("Tenemos problemas para cancelarsu pedido de {0} tanque(s), trabajamos para solucionarlo", Compra.Cantidad), "Aceptar"); //Settear las variables globales if (Settings.IdCompra == Compra.IdCompra) { Settings.Pedidos = false; Settings.IdCompra = 0; Settings.IdDistribuidor = 0; Settings.TanquesGas = 0; Settings.Pedidos = false; } await App.Navigator.Navigation.PopToRootAsync(); } } } catch (Exception ex) { Debug.Write(ex.Message); } }
public async Task <Response> Cancelar(CompraCancelada compra) { if (compra == null) { return(new Response { IsSuccess = true, Message = "no existe", Result = null }); } db.Configuration.ProxyCreationEnabled = false; Compra compraresult = db.Compra.Find(compra.IdCompra); compra.Fecha = DateTime.Now; switch (compra.CanceladaPor) { //si es el usuario el que desea cancelar el pedido case 1: //Modifica la base y se agrega al registro de comprascancelada if (compraresult.Estado != -1) { db.Configuration.ProxyCreationEnabled = false; db.Entry(compraresult).State = EntityState.Modified; compraresult.Estado = -1; compraresult.IdDistribuidor = compra.IdDistribuidor; db.CompraCancelada.Add(compra); db.SaveChanges(); Compra compraresult2 = new Compra { IdCompra = compraresult.IdCompra, IdDistribuidor = compraresult.IdDistribuidor }; //Notificar al distribuidor que la compra se cancelo if (compraresult.IdDistribuidor != null && compraresult.IdDistribuidor > 0) { await Notificacion(compraresult, 4); } return(new Response { IsSuccess = true, Message = "Compra cancelada con exito", Result = compraresult2 }); } return(new Response { IsSuccess = false, Message = "la compra fue cancelada antes", Result = null }); //si es el distribuidor el que desea cancelar el pedido case 2: try { db.Configuration.ProxyCreationEnabled = false; db.Entry(compraresult).State = EntityState.Modified; compraresult.Estado = 0; compraresult.IdDistribuidor = compra.IdDistribuidor; db.CompraCancelada.Add(compra); db.SaveChanges(); await Notificacion(compraresult, 5); await BuscarSector(compraresult); Compra compraresult3 = new Compra { IdCompra = compraresult.IdCompra, IdDistribuidor = compraresult.IdDistribuidor }; return(new Response { IsSuccess = true, Message = "Compra cancelada con exito", Result = compraresult3 }); } catch (Exception ex) { Debug.Write(ex.Message); return(new Response { IsSuccess = false, Message = "la compra no se pudo cancelar", Result = ex.Message }); } //Modifica la base y se agrega al registro de comprascancelada //Notificar al usuario que la compra se cancelo y que se buscara otro Distribuidor //Notificar a los distribuidores excepto el anterior default: return(new Response { IsSuccess = false, Message = "llamada erronea", Result = null }); } }