Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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");
                }
            });
        }
Esempio n. 3
0
        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);
                    }
                }
            }
        }