public void RepartidoresConFondoAEntregar(string licencia) { oTurno = new Turno(); try { foreach (DataRow item in oTurno.ObtenerUltimoTurnoDeRepartidore(licencia).Rows) { decimal total = 0; if (VerificaTurnoCerrado(item["UidTurnoRepartidor"].ToString())) { total = VerFondoRepartidor(item["UidUsuario"].ToString()); if (total > 0) { VMTurno usuario = new VMTurno() { UidUsuario = new Guid(item["UidUsuario"].ToString()), UidTurno = new Guid(item["UidTurnoRepartidor"].ToString()), StrNombre = item["Nombre"].ToString(), DTotalEnvio = total }; if (!ListaDeRepartidores.Exists(u => u.UidUsuario == usuario.UidUsuario)) { ListaDeRepartidores.Add(usuario); } else { var registro = ListaDeRepartidores.Find(u => u.UidUsuario == usuario.UidUsuario); if (registro.DTotalEnvio == 0) { registro.DTotalEnvio = registro.DTotalEnvio + total; } else { registro.DTotalEnvio = registro.DTotalEnvio - total; } } } } } } catch (Exception) { throw; } }
public void Verifica() { Device.BeginInvokeOnMainThread(async() => { try { var AppInstance = MainViewModel.GetInstance(); VMDireccion MVDireccion = new VMDireccion(); MVUbicacion = new VMUbicacion(); StrUbicacionCliente = string.Empty; StrUbicacionSucursal = string.Empty; string url = string.Empty; IsLoading = true; Guid uidUsuario = AppInstance.Session_.UidUsuario; var Consulta = url = "" + settings.Sitio + "api/Profile/GetObtenerUltimoEstatusBitacoraRepartidor?UidUsuario=" + AppInstance.Session_.UidUsuario + ""; var Consulta2 = "" + settings.Sitio + "api/Turno/GetConsultaUltimoTurno?UidUsuario=" + uidUsuario + ""; string UltimoAcceso = string.Empty; using (var _webApi = new HttpClient()) { string content = await _webApi.GetStringAsync(Consulta); UltimoAcceso = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); } if (UltimoAcceso.ToUpper() == "AAD35D44-5E65-46B6-964F-CD2DF026ECB1") { Application.Current.MainPage = new NavigationPage(new Login()); } else { using (var _webApi = new HttpClient()) { string datos = await _webApi.GetStringAsync(Consulta2); var obj = JsonConvert.DeserializeObject <ResponseHelper>(datos).Data.ToString(); MVTurno = JsonConvert.DeserializeObject <VistaDelModelo.VMTurno>(obj); } if (MVTurno.DtmHoraFin == DateTime.Parse("01/01/0001 12:00:00 a. m.") && MVTurno.DtmHoraInicio != DateTime.Parse("01/01/0001 12:00:00 a. m.")) { using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Orden/GetBuscarOrdenAsiganadaRepartidor?UidTurnoRepartidor=" + AppInstance.Session_.UidTurnoRepartidor + ""; string content = await _webApi.GetStringAsync(url); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); MVOrden = JsonConvert.DeserializeObject <VistaDelModelo.VMOrden>(obj); } Guid UidEstatusTurno = await ObtenUltimoEstatusDelTurno(uidUsuario); if (UidEstatusTurno == new Guid("AE28F243-AA0D-43BD-BF10-124256B75B00")) { Texto = "Debes liquidar para recibir ordenes"; BlSinAsignar = true; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = false; } else if (UidEstatusTurno == new Guid("B03E3407-F76D-4DFA-8BF9-7F059DC76141")) { Texto = "Debes recargar para recibir ordenes"; BlSinAsignar = true; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = false; } else { if (MVOrden.Uidorden == Guid.Empty || MVOrden.StrEstatusOrdenRepartidor.ToUpper() == "7DA3A42F-2271-47B4-B9B8-EDD311F56864") { Texto = "Esperando orden"; BlSinAsignar = true; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = false; } else { UidOrden = MVOrden.Uidorden; UidOrdenTarifario = MVOrden.UidOrdenTarifario; UidordenRepartidor = MVOrden.UidordenRepartidor; UidDireccionCliente = MVOrden.UidDireccionCliente; UidSucursal = MVOrden.UidSucursal; UidOrdenSucursal = MVOrden.UidOrdenSucursal; LngFolio = MVOrden.LNGFolio; StrIdentificador = MVOrden.StrNombreSucursal; //Obtiene el estatus de al orden asignada al repartidor, aqui tambien se pueden controlar los demas tipos de estatus UidEstatus = new Guid(MVOrden.StrEstatusOrdenRepartidor); //Cancelado if (UidEstatus.ToString().ToUpper() == "12748F8A-E746-427D-8836-B54432A38C07") { BlSinAsignar = true; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = false; } else //Orden pendiente if (UidEstatus.ToString().ToUpper() == "6294DACE-C9D1-4F9F-A942-FF12B6E7E957") { BlSinAsignar = false; BlNuevaOrden = true; BlRecolecta = false; BlEntrega = false; using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Ubicacion/GetRecuperaUbicacionSucursal?UidSucursal=" + UidSucursal + ""; string content = await _webApi.GetStringAsync(url); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); MVUbicacion = JsonConvert.DeserializeObject <VistaDelModelo.VMUbicacion>(obj); } StrUbicacionSucursal = MVUbicacion.VchLatitud + "," + MVUbicacion.VchLongitud; using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Ubicacion/GetRecuperaUbicacionDireccion?UidDireccion=" + UidDireccionCliente + ""; string content = await _webApi.GetStringAsync(url); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); MVUbicacion = JsonConvert.DeserializeObject <VistaDelModelo.VMUbicacion>(obj); } StrUbicacionCliente = MVUbicacion.VchLatitud + "," + MVUbicacion.VchLongitud; } else //Orden Confirmada if (UidEstatus.ToString().ToUpper() == "A42B2588-D650-4DD9-829D-5978C927E2ED") { if (MVOrden.StrEstatusOrdenGeneral.ToUpper() == "B6BFC834-7CC4-4E67-817D-5ECB0EB2FFA7") { using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Profile/GetBitacoraRegistroRepartidores?StrParametro=O&UidUsuario=" + uidUsuario + "&UidEstatus=B6791F2C-FA16-40C6-B5F5-123232773612&UidOrdenRepartidor=" + UidordenRepartidor + ""; await _webApi.GetAsync(url); } BlSinAsignar = false; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = true; using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Ubicacion/GetRecuperaUbicacionDireccion?UidDireccion=" + UidDireccionCliente + ""; string content = await _webApi.GetStringAsync(url); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); MVUbicacion = JsonConvert.DeserializeObject <VistaDelModelo.VMUbicacion>(obj); } StrUbicacionCliente = MVUbicacion.VchLatitud + "," + MVUbicacion.VchLongitud; } else { BlSinAsignar = false; BlNuevaOrden = false; BlRecolecta = true; BlEntrega = false; using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Ubicacion/GetRecuperaUbicacionSucursal?UidSucursal=" + UidSucursal + ""; string content = await _webApi.GetStringAsync(url); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); MVUbicacion = JsonConvert.DeserializeObject <VistaDelModelo.VMUbicacion>(obj); } StrUbicacionSucursal = MVUbicacion.VchLatitud + "," + MVUbicacion.VchLongitud; } } else //Entrega if (UidEstatus.ToString().ToUpper() == "B6791F2C-FA16-40C6-B5F5-123232773612") { BlSinAsignar = false; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = true; using (var _webApi = new HttpClient()) { url = "" + settings.Sitio + "api/Ubicacion/GetRecuperaUbicacionDireccion?UidDireccion=" + UidDireccionCliente + ""; string content = await _webApi.GetStringAsync(url); string obj = JsonConvert.DeserializeObject <ResponseHelper>(content).Data.ToString(); MVUbicacion = JsonConvert.DeserializeObject <VistaDelModelo.VMUbicacion>(obj); } StrUbicacionCliente = MVUbicacion.VchLatitud + "," + MVUbicacion.VchLongitud; } else { BlSinAsignar = true; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = false; } } } } else { Texto = "Inicia turno para recibir ordenes"; BlSinAsignar = true; BlNuevaOrden = false; BlRecolecta = false; BlEntrega = false; } IsLoading = false; } } catch (Exception) { GenerateMessage("Aviso de red", "Sin conexion a internet", "Aceptar"); } }); }
public void ObtenerRepartidoresALiquidar(string UidLicencia) { ListaDeRepartidores = new List <VMTurno>(); oTurno = new Turno(); foreach (DataRow item in oTurno.ObtenerRepartidoresALiquidar(UidLicencia).Rows) { //Varifica que este activo el campo if (item["EstatusTurno"].ToString().ToUpper() == "AE28F243-AA0D-43BD-BF10-124256B75B00" || item["EstatusTurno"].ToString().ToUpper() == "B03E3407-F76D-4DFA-8BF9-7F059DC76141") { string estatus = ""; switch (item["EstatusTurno"].ToString().ToUpper()) { case "AE28F243-AA0D-43BD-BF10-124256B75B00": estatus = "Liquidando"; break; case "B03E3407-F76D-4DFA-8BF9-7F059DC76141": estatus = "Recargando"; break; default: break; } decimal total = 0; if (!string.IsNullOrEmpty(item["Ordenes"].ToString())) { var MVTurno = new VMTurno(); MVTurno.ConsultaUltimoTurno(new Guid(item["UidUsuario"].ToString())); decimal MontoFondo = MVTurno.DFondoRepartidor; total = decimal.Parse(decimal.Parse(item["Ordenes"].ToString()).ToString("N2")); if (MontoFondo < total) { total = total - MontoFondo; } else { total += MontoFondo; } } VMTurno usuario = new VMTurno() { UidUsuario = new Guid(item["UidUsuario"].ToString()), UidTurno = new Guid(item["UidTurnoRepartidor"].ToString()), StrNombre = item["Nombre"].ToString(), DTotalEnvio = total, StrAccionTurnoRepartidor = estatus }; if (!ListaDeRepartidores.Exists(u => u.UidUsuario == UidUsuario)) { ListaDeRepartidores.Add(usuario); } } } foreach (DataRow rep in oTurno.ObtenerRepartidoresARecargar(UidLicencia).Rows) { //Varifica que este activo el campo if (rep["EstatusTurno"].ToString().ToUpper() == "AE28F243-AA0D-43BD-BF10-124256B75B00" || rep["EstatusTurno"].ToString().ToUpper() == "B03E3407-F76D-4DFA-8BF9-7F059DC76141") { string estatus = ""; switch (rep["EstatusTurno"].ToString().ToUpper()) { case "AE28F243-AA0D-43BD-BF10-124256B75B00": estatus = "Liquidando"; break; case "B03E3407-F76D-4DFA-8BF9-7F059DC76141": estatus = "Recargando"; break; default: break; } decimal total = 0; decimal TotalEfectivo = 0; decimal TotalEnvio = 0; decimal TotalPropina = 0; if (!string.IsNullOrEmpty(rep["Ordenes"].ToString())) { TotalEfectivo = decimal.Parse(rep["Ordenes"].ToString()); TotalEnvio = (decimal.Parse(decimal.Parse(rep["envio"].ToString()).ToString("N2"))); TotalPropina = decimal.Parse(decimal.Parse(rep["propina"].ToString()).ToString("N2")); var MVTurno = new VMTurno(); MVTurno.ConsultaUltimoTurno(new Guid(rep["UidUsuario"].ToString())); decimal MontoFondo = MVTurno.DFondoRepartidor; if (MontoFondo > TotalEfectivo) { total = TotalEfectivo; } else { total = TotalEfectivo - MontoFondo; } } VMTurno usuario = new VMTurno() { UidUsuario = new Guid(rep["UidUsuario"].ToString()), UidTurno = new Guid(rep["UidTurnoRepartidor"].ToString()), StrNombre = rep["Nombre"].ToString(), DTotalEnvio = decimal.Parse(total.ToString("N2")), StrAccionTurnoRepartidor = estatus }; if (!ListaDeRepartidores.Exists(u => u.UidUsuario == UidUsuario)) { ListaDeRepartidores.Add(usuario); } } } }