Esempio n. 1
0
 public bool AgregarDetalles(List <detordenproductoshd> listOracle)
 {
     try
     {
         int contador = 0;
         foreach (var item in listOracle)
         {
             detordenproductoshd detordenproductoshd = new detordenproductoshd();
             contador++;
             detordenproductoshd.Ordenes_Id = item.Ordenes_Id;
             detordenproductoshd.Skus_Id    = item.Skus_Id;
             detordenproductoshd.cantidad   = item.cantidad;
             db.detordenproductoshd.Add(detordenproductoshd);
             db.SaveChanges();
         }
         return(true);
     }
     catch (Exception _ex)
     {
         Console.WriteLine(_ex.Message.ToString());
         return(false);
     }
 }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ordenes ordenes = db.ordenes.Find(id);

            if (ordenes == null)
            {
                return(HttpNotFound());
            }

            var detuser = db.detusuariosordenes.Where(x => x.Ordenes_Id == id).FirstOrDefault();

            if (detuser != null)
            {
                ViewBag.Auditor = detuser.usuarios.nombre.ToUpper();
            }

            var detalleOrden = db.detordenproductoshd.Where(x => x.Ordenes_Id == id).ToList();
            List <detordenproductoshd> lista = new List <detordenproductoshd>();

            foreach (var item in detalleOrden)
            {
                detordenproductoshd detordenproductoshd = new detordenproductoshd();
                detordenproductoshd.cantidad       = item.cantidad;
                detordenproductoshd.SKU            = item.skus.Sku;
                detordenproductoshd.SKUDescripcion = item.skus.Descripcion;
                lista.Add(detordenproductoshd);
            }

            ViewBag.Detalle = lista;

            return(View(ordenes));
        }
Esempio n. 3
0
        public List <detordenproductoshd> DetalleOrden(string orden)
        {
            try
            {
                List <detordenproductoshd> listaTemp = new List <detordenproductoshd>();
                var detallesOrden = db.detordenproductoshd.Where(x => x.ordenes.Orden.Equals(orden)).ToList();

                foreach (var item in detallesOrden)
                {
                    detordenproductoshd detordenproductoshd = new detordenproductoshd();
                    detordenproductoshd.SKU              = item.skus.Sku;
                    detordenproductoshd.cantidad         = item.cantidad;
                    detordenproductoshd.CantidadEscaneos = 0;

                    listaTemp.Add(detordenproductoshd);
                }

                return(listaTemp);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Esempio n. 4
0
        public List <detordenproductoshd> ListaDetallesByOrden(string orden)
        {
            try
            {
                List <detordenproductoshd> lista = new List <detordenproductoshd>();
                ordenes ordenes = db.ordenes.Where(x => x.Orden.Contains(orden)).FirstOrDefault();

                foreach (var item in db.detordenproductoshd.Where(x => x.Ordenes_Id == ordenes.id).ToList())
                {
                    detordenproductoshd detordenproductoshd = new detordenproductoshd();
                    detordenproductoshd.SKU          = item.skus.Sku;
                    detordenproductoshd.cantidad     = item.cantidad;
                    detordenproductoshd.CantidadSKUS = 0;

                    lista.Add(detordenproductoshd);
                }

                return(lista);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Esempio n. 5
0
        public void ValidarLista(string orden, string producto)
        {
            //Validar que la caja de producto no este vacia
            if (txtProducto.Text != string.Empty)
            {
                if (ctrlEscaneos.IsKit(producto))
                {
                    if (ValidarSKUSKit(producto))
                    {
                        if (ValidarCantidadesKit(producto))
                        {
                            List <detkitskus> listaTemp = ctrlEscaneos.listaPack(producto);

                            foreach (var item in listaTemp)
                            {
                                detordenproductoshd detalle = new detordenproductoshd();

                                index++;

                                detalle.Index        = index;
                                detalle.SKU          = item.skus.Sku;
                                detalle.CantidadSKUS = (int)item.Cantidad;
                                detalle.codigoqr     = "NA";
                                lista.Add(detalle);

                                if (CerrarAutomaticamente())
                                {
                                    SystemSounds.Beep.Play();
                                }
                                else
                                {
                                    //Actualizar la cantidad escaneada en el GRIDVIEW
                                    int cantidad    = lista.Where(x => x.SKU.Contains(item.skus.Sku)).Sum(x => x.CantidadSKUS);
                                    var detalleTemp = ListaGrid.Where(x => x.SKU.Contains(item.skus.Sku.ToUpper())).FirstOrDefault();
                                    detalleTemp.CantidadSKUS = cantidad;

                                    dgvEscaneos.DataSource = null;
                                    dgvEscaneos.DataSource = ListaGrid;
                                    this.txtProducto.Text  = "";
                                    this.txtProducto.Focus();
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("LA CANTIDAD DEL PAH O DEL PAQUETE ES SUPERIOR AL DE LA ORDEN",
                                            "CANTIDAD SUPERIOR A LA DE LA ORDEN",
                                            MessageBoxButtons.OK,
                                            MessageBoxIcon.Error);

                            this.txtProducto.Text = "";
                            this.txtProducto.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show("LOS SKUS DEL PAH O DEL PAQUETE NO PERTENECEN AL LA ORDEN",
                                        "KIT INCORRECTO",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);

                        this.txtProducto.Text = "";
                        this.txtProducto.Focus();
                    }
                }
                else
                {
                    //Validando SKU
                    if (ctrlEscaneos.ValidarSKU(orden, producto))
                    {
                        detordenproductoshd detalle = new detordenproductoshd();

                        index++;

                        detalle.Index        = index;
                        detalle.SKU          = txtProducto.Text;
                        detalle.CantidadSKUS = 1;
                        detalle.codigoqr     = "NA";
                        lista.Add(detalle);

                        if (ValidarByCantidadTotal())
                        {
                            if (ValidarByCantidadArticulo(orden, producto, lista))
                            {
                                if (ctrlEscaneos.IsQTYManual(producto))
                                {
                                    if (ValidarByCantidadArticulo(orden, producto, lista))
                                    {
                                        SystemSounds.Beep.Play();
                                        int cantidad      = int.Parse(Microsoft.VisualBasic.Interaction.InputBox("AGREGAR CANTIDAD MANUAL", "TECLEAR LA CANTIDAD DE PRODUCTOS A INGRESAR"));
                                        int cantidadLista = lista.Where(x => x.SKU.Contains(producto)).Sum(x => x.CantidadSKUS);
                                        int cantidadTotal = (cantidad + cantidadLista) - 1;

                                        if (cantidadTotal > ctrlEscaneos.CantidadManualByArticulo(orden, producto))
                                        {
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("ERROR EN CANTIDAD MANUAL. LA CANTIDAD NO PUEDE SER MAYOR A LADE LA ORDEN, ESCANEA NUEVAMENTE EL SKU Y TECLEA UNA CANTIDAD VALIDA");
                                            index--;
                                            lista.RemoveAt(index);
                                            ctrlEscaneos.ErrorCantidadMayorSKU(orden);
                                        }
                                        else
                                        {
                                            detordenproductoshd detalleTemp = lista.Where(x => x.SKU == producto).FirstOrDefault();
                                            detalle.CantidadSKUS = cantidadTotal;
                                        }
                                    }
                                }

                                if (ctrlEscaneos.IsQRCode(producto))
                                {
                                    SystemSounds.Beep.Play();
                                    string qr = Microsoft.VisualBasic.Interaction.InputBox("AGREGAR CODIGO QR", "ESCANEAR CODIGO QR DEL PRODUCTO");

                                    if (qr.Equals(string.Empty))
                                    {
                                        SystemSounds.Asterisk.Play();
                                        MessageBox.Show("ERROR DE CODIGO QR. EL CODIGO QR NO PUEDE ESTAR VACIO, ESCANEA NUEVAMENTE EL SKU Y SU CODIGO QR");
                                        index--;
                                        lista.RemoveAt(index);
                                    }
                                    else
                                    {
                                        if (ctrlEscaneos.ValidarQR(qr, producto, lista))
                                        {
                                            index--;
                                            lista.RemoveAt(index);
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("ERROR DE CODIGO QR. ESTE CODIGO QR YA EXISTE, ESCANEA NUEVAMENTE EL SKU Y SU CODIGO QR");
                                        }
                                        else
                                        {
                                            detalle.codigoqr = qr;
                                            var detalleTemp = lista.Where(x => x.Index == index).FirstOrDefault();
                                            if (detalleTemp != null)
                                            {
                                                detalle.codigoqr = detalleTemp.codigoqr;
                                            }
                                        }
                                    }
                                }

                                if (CerrarAutomaticamente())
                                {
                                    SystemSounds.Beep.Play();
                                }
                                else
                                {
                                    //Actualizar la cantidad escaneada en el GRIDVIEW
                                    int cantidad    = lista.Where(x => x.SKU.Contains(producto)).Sum(x => x.CantidadSKUS);
                                    var detalleTemp = ListaGrid.Where(x => x.SKU.Contains(producto.ToUpper())).FirstOrDefault();
                                    detalleTemp.CantidadSKUS = cantidad;

                                    dgvEscaneos.DataSource = null;
                                    dgvEscaneos.DataSource = ListaGrid;
                                    this.txtProducto.Text  = "";
                                    this.txtProducto.Focus();
                                }
                            }
                            else
                            {
                                this.txtProducto.Text = "";
                                this.txtProducto.Focus();
                            }
                        }
                    }
                    else
                    {
                        //Se tiene que configurar en Windows el Sonido de Asterisk
                        SystemSounds.Asterisk.Play();
                        MessageBox.Show("ESTE SKU NO PERTENECE A LA ORDEN");
                        ctrlEscaneos.ErrorSKUIncorrecto(orden);
                    }
                }
            }
        }
        public ActionResult ObtenerOrdenes()
        {
            try
            {
                var Draw          = Request.Form.GetValues("draw").FirstOrDefault();
                var Start         = Request.Form.GetValues("start").FirstOrDefault();
                var Length        = Request.Form.GetValues("length").FirstOrDefault();
                var SortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][data]").FirstOrDefault();
                var SortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();

                var fechaInicio = Request.Form.GetValues("columns[0][search][value]").FirstOrDefault();
                var fechaFin    = Request.Form.GetValues("columns[1][search][value]").FirstOrDefault();

                int PageSize = Length != null?Convert.ToInt32(Length) : 0;

                int Skip = Start != null?Convert.ToInt32(Start) : 0;

                int TotalRecords = 0;

                List <detordenproductoshd> Inventario = new List <detordenproductoshd>();

                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
                {
                    con.Open();

                    string sql   = "exec SP_Inventario_ConsultaParametrosOpcionales @fechaOrdenes";
                    var    query = new SqlCommand(sql, con);

                    if (fechaInicio != "")
                    {
                        DateTime date = Convert.ToDateTime(fechaInicio);
                        query.Parameters.AddWithValue("@fechaOrdenes", date);
                    }
                    else
                    {
                        query.Parameters.AddWithValue("@fechaOrdenes", DBNull.Value);
                    }

                    using (var dr = query.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            // facturas
                            var detalle = new detordenproductoshd();

                            detalle.FechaString    = dr["FechaAlta"].ToString();
                            detalle.OrdenString    = dr["Orden"].ToString();
                            detalle.OracleID       = dr["User"].ToString();
                            detalle.Cantidad       = Convert.ToInt32(dr["cantidad"]);
                            detalle.SKUDescripcion = dr["Sku"].ToString();

                            Inventario.Add(detalle);
                        }
                    }
                }

                if (!(string.IsNullOrEmpty(SortColumn) && string.IsNullOrEmpty(SortColumnDir)))
                {
                    Inventario = Inventario.OrderBy(SortColumn + " " + SortColumnDir).ToList();
                }

                TotalRecords = Inventario.ToList().Count();
                var NewItems = Inventario.Skip(Skip).Take(PageSize == -1 ? TotalRecords : PageSize).ToList();

                return(Json(new { draw = Draw, recordsFiltered = TotalRecords, recordsTotal = TotalRecords, data = NewItems }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                return(null);
            }
        }