Exemplo n.º 1
0
        void btnGuardar_Clicked(object sender, EventArgs e)
        {
            var pro  = new Entidades.DetalleLevantadoTemp();
            var Resp = new Entidades.Respuesta();

            Services.ProductosServices Productos = new Services.ProductosServices();

            if (string.IsNullOrEmpty(this.txtCantidad.Text))
            {
                Acr.UserDialogs.UserDialogs.Instance.Toast("Ingrese una cantidad! ");
                return;
            }
            pro.Codigo_Usuario   = Usuario.Codigo_Usuario;
            pro.CodigoSucursal   = Usuario.Sucursal;
            pro.Codigo_Ubicacion = Usuario.Codigo_Ubicacion;
            pro.Codigo_Factura   = Usuario.Parcial;
            pro.Codigo_Barra     = this.lblResultado.Text;
            pro.Codigo_Producto  = this.CodigoProducto;
            pro.Bodega           = this.Usuario.Bodega;
            pro.Cargado          = true;
            pro.Tipo_Origen      = 1;

            if (Usuario.Conteo == 0)
            {
                pro.Cantidad  = double.Parse(this.txtCantidad.Text);
                pro.Resultado = double.Parse(this.txtCantidad.Text);;
            }
            if (Usuario.Conteo == 1)
            {
                pro.Resultado = double.Parse(this.txtCantidad.Text);
                pro.Conteo1   = double.Parse(this.txtCantidad.Text);
                pro.UC1       = Usuario.Codigo_Usuario;
            }
            if (Usuario.Conteo == 2)
            {
                pro.Resultado = double.Parse(this.txtCantidad.Text);
                pro.Conteo2   = double.Parse(this.txtCantidad.Text);
                pro.UC2       = Usuario.Codigo_Usuario;
            }
            if (Usuario.Conteo == 3)
            {
                pro.Resultado = double.Parse(this.txtCantidad.Text);
                pro.Conteo3   = double.Parse(this.txtCantidad.Text);
                pro.UC3       = Usuario.Codigo_Usuario;
            }

            Device.BeginInvokeOnMainThread(async() =>
            {
                var monto = new Double();
                try
                {
                    //g = Guar
                    var g = await DisplayAlert(@"LIP Guardar Producto ", " Producto: " + this.NombreProducto + "\n\r"
                                               + " Cantidad :" + this.txtCantidad.Text + "\n\r"
                                               , "Cancelar", "Guardar");
                    //su guardar es cancelado
                    if (g)
                    {
                        return;
                    }

                    if (!ProductosDiferencias)
                    {
                        Resp = Productos.GuardarProducto(pro);
                    }
                    else
                    {
                        Resp = Productos.ActualizarProducto(pro);
                    }

                    if (Resp.Code == 3)
                    {
                        var producto  = new Entidades.DetalleLevantadoTemp();
                        producto      = JsonConvert.DeserializeObject <Entidades.DetalleLevantadoTemp>(Resp.Objeto.ToString());
                        var respuesta = await DisplayAlert(@"LIP Producto Contado", " ya tiene conteo de " + producto.Resultado + "\n\r"
                                                           + " que acción desea realizar?." + "\n\r" +
                                                           " Actualizar = " + pro.Resultado + "\n\r" +
                                                           " Agregar(Sumar) = " + (pro.Resultado + producto.Resultado), "Agregar", "Actualizar");

                        if (!respuesta)
                        { //true -> Sobreescribir
                            monto = pro.Resultado;
                        }
                        else
                        {// Agregarla
                            monto = (pro.Resultado + producto.Resultado);
                            monto = (float)(Math.Round((double)monto, 2));
                        }

                        if (Usuario.Conteo == 0)
                        {
                            pro.Cantidad  = monto;
                            pro.Resultado = monto;
                        }
                        if (Usuario.Conteo == 1)
                        {
                            pro.Resultado = monto;
                            pro.Conteo1   = monto;
                            pro.UC1       = Usuario.Codigo_Usuario;
                        }
                        if (Usuario.Conteo == 2)
                        {
                            pro.Resultado = monto;
                            pro.Conteo2   = monto;
                            pro.UC2       = Usuario.Codigo_Usuario;
                        }
                        if (Usuario.Conteo == 3)
                        {
                            pro.Resultado = monto;
                            pro.Conteo3   = monto;
                            pro.UC3       = Usuario.Codigo_Usuario;
                        }
                        var R         = Productos.ActualizarProducto(pro);
                        Resp.Response = R.Response;
                        Resp.Code     = R.Code;
                    }



                    if (Resp.Code == 1)
                    {
                        var lista = new List <Entidades.DetalleLevantadoTemp>();
                        lista     = db.BuscarProductoDetalle(pro);
                        if (lista.Count > 0)
                        {
                            db.ActualizarProductoDetalle(pro.Codigo_Usuario, pro.Codigo_Producto, pro.Codigo_Factura, pro.CodigoSucursal, pro.Codigo_Ubicacion, pro.Bodega, monto, Usuario.Conteo);
                        }
                        else
                        {
                            db.GuardarProductoDetalle(pro);
                        }
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                        await Navigation.PopAsync();
                    }

                    if (Resp.Code == 5)
                    {
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                        Usuario.Codigo_Ubicacion = 0;
                        db.UpdateLevantado(Usuario);
                        await Navigation.PopAsync();
                    }


                    if (Resp.Code == 6)
                    {
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                        Usuario.Codigo_Ubicacion = 0;
                        Usuario.IsCerrado        = true;
                        db.UpdateLevantado(Usuario);
                        await Navigation.PopAsync();
                    }
                    if (Resp.Code == 0)
                    {
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                    }


                    if (Resp.Response == null)
                    {
                        await DisplayAlert("LIP", "Error Tiempo Espera Excedido!!", "Aceptar");
                    }
                }
                catch (Exception)
                {
                    await DisplayAlert("LIP", "Ocurrio un error al guardar!", "Aceptar");
                    return;
                    // throw;
                }
            });

            //await Navigation.PopAsync();
            //lblResultado.Text = resultado.Text;
        }
Exemplo n.º 2
0
        private void CargarProductosContados()
        {
            try
            {
                var servicios = new Services.ProductosServices();
                var Lista     = new List <Productos>();
                var respuesta = servicios.TraerListaProductosContados(Usuario);

                if (respuesta.Code == 1)
                {
                    if (respuesta.Lista.Count > 0)
                    {
                        List <Entidades.ListaProductos> lp = new List <Entidades.ListaProductos>();

                        foreach (var i in respuesta.Lista)
                        {
                            lp.Add(JsonConvert.DeserializeObject <Entidades.ListaProductos>(i.ToString()));
                        }
                        this.listContado.Clear();
                        foreach (var i in lp)
                        {
                            Lista.Add(new Productos
                            {
                                Codigo    = i.Codigo_Producto,
                                Nombre    = i.Nombre,
                                Estado    = i.Estado,
                                Resultado = i.Resultado
                            });
                        }

                        if (this.buttonSelect == 2)
                        {
                            listContado = Lista;
                            this.lvwProductos.ItemsSource = listContado;
                        }
                        if (this.buttonSelect == 3)
                        {
                            if (listDiferencias.Count <= 0)
                            {
                                if (Usuario.Conteo == 1)
                                {
                                    listDiferencias = Lista.Where(x => x.Estado == "0" && x.Conteo1 == 0).ToList();
                                }
                                if (Usuario.Conteo == 2)
                                {
                                    listDiferencias = Lista.Where(x => x.Estado == "0" && x.Conteo2 == 0).ToList();
                                }
                                if (Usuario.Conteo == 3)
                                {
                                    listDiferencias = Lista.Where(x => x.Estado == "0" && x.Conteo3 == 0).ToList();
                                }
                            }
                            this.lvwProductos.ItemsSource = listDiferencias;
                        }
                    }
                    else
                    {
                        this.lvwProductos.ItemsSource = new List <Productos>();
                    }
                }
            }
            catch (Exception)
            {
                return;
                // throw;
            }
        }
        private void CargarProductosContados()
        {
            try
            {
                var servicios = new Services.ProductosServices();
                var Lista     = new List <Productos>();
                var respuesta = servicios.TraerListaProductosContados(Usuario);

                if (respuesta.Code == 1)
                {
                    if (respuesta.Lista.Count > 0)
                    {
                        List <Entidades.ListaProductos> lp = new List <Entidades.ListaProductos>();

                        foreach (var i in respuesta.Lista)
                        {
                            lp.Add(JsonConvert.DeserializeObject <Entidades.ListaProductos>(i.ToString()));
                        }
                        this.listContado.Clear();
                        foreach (var i in lp)
                        {
                            Lista.Add(new Productos
                            {
                                Codigo       = i.Codigo_Producto,
                                Nombre       = i.Nombre,
                                Estado       = i.Estado,
                                Resultado    = i.Resultado,
                                Conteo1      = i.Conteo1,
                                Conteo2      = i.Conteo2,
                                Conteo3      = i.Conteo3,
                                NoMostrarApp = i.NoMostrarApp  //para no mostrar los productos que se marcaron en 0
                            });
                        }

                        if (this.buttonSelect == 2)
                        {
                            listContado = Lista;
                            Acr.UserDialogs.UserDialogs.Instance.HideLoading();
                            Device.BeginInvokeOnMainThread(() =>
                            {
                                this.lvwProductos.ItemsSource = listContado;
                                if (listContado.Count <= 0)
                                {
                                    this.imgResultado.IsVisible     = true;
                                    this.imgResultado.HeightRequest = 100;
                                }
                                else
                                {
                                    this.imgResultado.IsVisible     = false;
                                    this.imgResultado.HeightRequest = 0;

                                    this.btnContados.Text = " Contados (" + listContado.Count().ToString() + ")";
                                }
                            });
                        }
                        if (this.buttonSelect == 3)
                        {
                            if (Usuario.Conteo == 1)
                            {
                                listDiferencias = Lista.Where(x => x.Estado == "0" && (x.Conteo1 == 0 && x.NoMostrarApp == 0)).ToList();
                            }
                            if (Usuario.Conteo == 2)
                            {
                                listDiferencias = Lista.Where(x => x.Estado == "0" && (x.Conteo2 == 0 && x.NoMostrarApp == 0)).ToList();
                            }
                            if (Usuario.Conteo == 3)
                            {
                                listDiferencias = Lista.Where(x => x.Estado == "0" && (x.Conteo3 == 0 && x.NoMostrarApp == 0)).ToList();
                            }

                            Acr.UserDialogs.UserDialogs.Instance.HideLoading();
                            Device.BeginInvokeOnMainThread(() =>
                            {
                                this.lvwProductos.ItemsSource = listDiferencias;

                                if (listDiferencias.Count <= 0)
                                {
                                    this.imgResultado.IsVisible     = true;
                                    this.imgResultado.HeightRequest = 100;
                                }
                                else
                                {
                                    this.imgResultado.IsVisible     = false;
                                    this.imgResultado.HeightRequest = 0;

                                    this.btnDiferencias.Text = " Diferencias (" + listDiferencias.Count().ToString() + ")";
                                }
                            });
                        }
                    }
                    else
                    {
                        Acr.UserDialogs.UserDialogs.Instance.HideLoading();
                        Device.BeginInvokeOnMainThread(() =>
                        {
                            this.lvwProductos.ItemsSource   = new List <Productos>();
                            this.imgResultado.IsVisible     = true;
                            this.imgResultado.HeightRequest = 100;
                        });
                    }
                }
                else
                {
                    Acr.UserDialogs.UserDialogs.Instance.HideLoading();
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        Acr.UserDialogs.UserDialogs.Instance.Toast(new Acr.UserDialogs.ToastConfig("Ocurrio un Problema! ,Intentar de Nuevo!"));
                        this.imgResultado.IsVisible     = false;
                        this.imgResultado.HeightRequest = 0;
                    });
                    return;
                }
            }



            catch (Exception)
            {
                Acr.UserDialogs.UserDialogs.Instance.Toast(new Acr.UserDialogs.ToastConfig("Ocurrio un Problema! ,Intentar de Nuevo!"));
                Acr.UserDialogs.UserDialogs.Instance.HideLoading();
                Device.BeginInvokeOnMainThread(() =>
                {
                    this.imgResultado.IsVisible     = false;
                    this.imgResultado.HeightRequest = 0;
                });
                return;
            }
        }
        void btnGuardar_Clicked(object sender, EventArgs e)
        {
            var pro  = new Entidades.DetalleLevantadoTemp();
            var Resp = new Entidades.Respuesta();

            Services.ProductosServices Productos = new Services.ProductosServices();

            if (string.IsNullOrEmpty(this.txtCantidad.Text))
            {
                Acr.UserDialogs.UserDialogs.Instance.Toast("Ingrese una cantidad! ");
                return;
            }

            this.txtCantidad.Text = TruncateDecimal(decimal.Parse(this.txtCantidad.Text), 2).ToString();

            pro.Codigo_Usuario   = Usuario.Codigo_Usuario;
            pro.CodigoSucursal   = Usuario.Sucursal;
            pro.Codigo_Ubicacion = Usuario.Codigo_Ubicacion;
            pro.Codigo_Factura   = Usuario.Parcial;
            pro.Codigo_Barra     = this.lblResultado.Text;
            pro.Codigo_Producto  = this.CodigoProducto;
            pro.Bodega           = this.Usuario.Bodega;
            pro.Cargado          = true;
            pro.Tipo_Origen      = 1;

            if (Usuario.Conteo == 0)
            {
                pro.Cantidad    = double.Parse(this.txtCantidad.Text);
                pro.Resultado   = double.Parse(this.txtCantidad.Text);;
                pro.Tipo_Origen = 1;
            }
            if (Usuario.Conteo == 1)
            {
                pro.Resultado     = double.Parse(this.txtCantidad.Text);
                pro.Conteo1       = double.Parse(this.txtCantidad.Text);
                pro.UC1           = Usuario.Codigo_Usuario;
                pro.Tipo_OrigenC1 = 1;
            }
            if (Usuario.Conteo == 2)
            {
                pro.Resultado     = double.Parse(this.txtCantidad.Text);
                pro.Conteo2       = double.Parse(this.txtCantidad.Text);
                pro.UC2           = Usuario.Codigo_Usuario;
                pro.Tipo_OrigenC2 = 1;
            }
            if (Usuario.Conteo == 3)
            {
                pro.Resultado     = double.Parse(this.txtCantidad.Text);
                pro.Conteo3       = double.Parse(this.txtCantidad.Text);
                pro.UC3           = Usuario.Codigo_Usuario;
                pro.Tipo_OrigenC3 = 1;
            }

            if (double.Parse(this.txtCantidad.Text) == 0)
            {
                pro.NoMostrarApp = 1;
            }

            Device.BeginInvokeOnMainThread(async() =>
            {
                var monto = new Double();
                try
                {
                    //g = Guar
                    var g = await DisplayAlert(@"LIP Guardar Producto ", "Producto: " + this.NombreProducto + "\n\r"
                                               + "Cantidad :" + this.txtCantidad.Text + "\n\r"
                                               , "Guardar", "Cancelar");
                    //su guardar es cancelado
                    if (!g)
                    {
                        return;
                    }

                    if (!ProductosDiferencias)
                    {
                        Resp = Productos.GuardarProducto(pro);
                    }
                    else
                    {
                        Resp = Productos.ActualizarProducto(pro);
                    }

                    if (Resp.Code == 3)
                    {
                        var producto = new Entidades.DetalleLevantadoTemp();
                        producto     = JsonConvert.DeserializeObject <Entidades.DetalleLevantadoTemp>(Resp.Objeto.ToString());

                        var respuesta = await Acr.UserDialogs.UserDialogs.Instance.PromptAsync(@"ya tiene conteo de " + TruncateDecimal((decimal)producto.Resultado, 2) + "\n\r"
                                                                                               + "que monto desea Guardar?. Digite la Opción " + "\n\r" +
                                                                                               "1 = " + pro.Resultado + "\n\r" +
                                                                                               "2 = " + TruncateDecimal((decimal)(producto.Resultado + pro.Resultado), 2) + "\n\r" +
                                                                                               "3 = Guardar lo mismo !", "LIP - Los Paisas", "Guardar", "Cancelar", "Escribe la Opción", Acr.UserDialogs.InputType.Default);



                        if (!respuesta.Ok && respuesta.Text != "")
                        {
                            return;
                        }
                        if (respuesta.Text == "1")
                        { //true -> Sobreescribir
                            monto = (double)TruncateDecimal((decimal)pro.Resultado, 2);
                        }
                        else if (respuesta.Text == "2")
                        {// Agregarla
                            monto = (pro.Resultado + producto.Resultado);
                            monto = (double)TruncateDecimal((decimal)monto, 2);
                        }
                        else if (respuesta.Text == "3")
                        {// no hacer nada
                            await Navigation.PopAsync();
                        }
                        else
                        {
                            await DisplayAlert("LIP", "Ingresar Unicamente si es opción 1 , Opción 2 U Opción 3 ", "Aceptar");
                            return;
                        }

                        if (monto == 0)
                        {
                            pro.NoMostrarApp = 1;
                        }

                        if (Usuario.Conteo == 0)
                        {
                            pro.Cantidad    = monto;
                            pro.Resultado   = monto;
                            pro.Tipo_Origen = 1;
                        }
                        if (Usuario.Conteo == 1)
                        {
                            pro.Resultado     = monto;
                            pro.Conteo1       = monto;
                            pro.UC1           = Usuario.Codigo_Usuario;
                            pro.Tipo_OrigenC1 = 1;
                        }
                        if (Usuario.Conteo == 2)
                        {
                            pro.Resultado     = monto;
                            pro.Conteo2       = monto;
                            pro.UC2           = Usuario.Codigo_Usuario;
                            pro.Tipo_OrigenC2 = 1;
                        }
                        if (Usuario.Conteo == 3)
                        {
                            pro.Resultado     = monto;
                            pro.Conteo3       = monto;
                            pro.UC3           = Usuario.Codigo_Usuario;
                            pro.Tipo_OrigenC3 = 1;
                        }
                        var R         = Productos.ActualizarProducto(pro);
                        Resp.Response = R.Response;
                        Resp.Code     = R.Code;
                    }



                    if (Resp.Code == 1)
                    {
                        var lista = new List <Entidades.DetalleLevantadoTemp>();
                        lista     = db.BuscarProductoDetalle(pro);
                        if (lista.Count > 0)
                        {
                            db.ActualizarProductoDetalle(pro.Codigo_Usuario, pro.Codigo_Producto, pro.Codigo_Factura, pro.CodigoSucursal, pro.Codigo_Ubicacion, pro.Bodega, monto, Usuario.Conteo);
                        }
                        else
                        {
                            db.GuardarProductoDetalle(pro);
                        }

                        await DisplayAlert("LIP", "Cantidad Guardada!", "Aceptar");
                        await Navigation.PopAsync();
                    }

                    if (Resp.Code == 5)
                    {
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                        Usuario.Codigo_Ubicacion = 0;
                        db.UpdateLevantado(Usuario);
                        await Navigation.PopAsync();
                    }


                    if (Resp.Code == 6)
                    {
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                        Usuario.Codigo_Ubicacion = 0;
                        Usuario.IsCerrado        = true;
                        db.UpdateLevantado(Usuario);
                        await Navigation.PopAsync();
                    }
                    if (Resp.Code == 0)
                    {
                        await DisplayAlert("LIP", Resp.Response, "Aceptar");
                    }


                    if (Resp.Response == null)
                    {
                        await DisplayAlert("LIP", "Error Tiempo Espera Excedido!!", "Aceptar");
                    }
                }
                catch (Exception)
                {
                    await DisplayAlert("LIP", "Ocurrio un error al guardar!", "Aceptar");
                    return;
                    // throw;
                }
            });
        }