public async Task <IActionResult> Put(int id, OrdenCompraDetalle ordenCompraDetalle)
        {
            if (id != ordenCompraDetalle.OrdenCompraDetalleId)
            {
                return(BadRequest());
            }

            _context.Entry(ordenCompraDetalle).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrdenCompraDetalleExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <OrdenCompraDetalle> > Post(OrdenCompraDetalle ordenCompraDetalle)
        {
            _context.OrdenCompraDetalle.Add(ordenCompraDetalle);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("Get", new { id = ordenCompraDetalle.OrdenCompraDetalleId }, ordenCompraDetalle));
        }
Ejemplo n.º 3
0
        public List <OrdenCompraDetalle> ShowOrdenDetalleByOrdenID(string id)
        {
            List <OrdenCompraDetalle> List = new List <OrdenCompraDetalle>();

            conexion.Open();
            string Query = " select orden_compra_detalle.id_orden_compra,orden_compra_detalle.id_orden_compra_detalle,orden_compra_detalle.cantidad,producto.nombre,producto.costo from orden_compra_detalle inner join producto on(orden_compra_detalle.id_producto = producto.id_producto) where id_orden_compra = @id";

            SqlCommand cmm = new SqlCommand(Query, conexion);

            cmm.Parameters.AddWithValue("@id", id);

            SqlDataReader dr = cmm.ExecuteReader();

            while (dr.Read())
            {
                OrdenCompraDetalle InstDetalle = new OrdenCompraDetalle();
                Producto           InsProd     = new Producto();
                OrdenCompra        InsOrden    = new OrdenCompra();
                InstDetalle.Id_orden_compra_detalle = Convert.ToInt32(dr["id_orden_compra_detalle"]);
                InstDetalle.Cantidad = Convert.ToInt32(dr["cantidad"]);
                InstDetalle.Orden    = InsOrden;
                InstDetalle.Producto = InsProd;

                InstDetalle.Producto.Nombre       = Convert.ToString(dr["nombre"]);
                InstDetalle.Orden.Id_Orden_Compra = Convert.ToInt32(dr["id_orden_compra"]);
                InstDetalle.Producto.Costo        = Convert.ToInt32(dr["costo"]);

                List.Add(InstDetalle);
            }

            return(List);
        }
Ejemplo n.º 4
0
    private void cargaQuery()
    {
        DataSet data      = null;
        int     idAlmacen = Convert.ToInt32(Request.QueryString["p"]);

        data            = datos.llenaOrdenCompra(idAlmacen);
        ordenCompraList = new List <OrdenCompraDetalle>();
        foreach (DataRow dr in data.Tables[0].Rows)
        {
            OrdenCompraDetalle ordenD = new OrdenCompraDetalle();
            ordenD.Cantidad              = Convert.ToDecimal(dr[7].ToString());
            ordenD.IdArticulo            = dr[1].ToString();
            ordenD.Producto              = dr[3].ToString();
            ordenD.Descripcion_categoria = dr[2].ToString();
            ordenCompraList.Add(ordenD);
        }
        GridOrdenCompra.DataSource = ordenCompraList;
        GridOrdenCompra.DataBind();
        Session["listaOrden"]    = ordenCompraList;
        Session["listaOriginal"] = ordenCompraList;
        if (ordenCompraList.Count > 0)
        {
            lnkGenerarOrden.Visible = true;
        }
        else
        {
            lnkGenerarOrden.Visible = false;
        }
    }
Ejemplo n.º 5
0
 public ActionResult DeleteDetalle(int id = 0)
 {
     if (id != 0)
     {
         OrdenCompraDetalle ordenCompraDetalle = db.OrdenCompraDetalle.Find(id);
         db.OrdenCompraDetalle.Remove(ordenCompraDetalle);
         db.SaveChanges();
     }
     return(RedirectToAction("ShopBasket"));
 }
Ejemplo n.º 6
0
        // POST: OrdenCompraController/EditDetalle/5
        public IActionResult EditDetalle(int?id, [Bind("ArticuloId,Descripcion,Subtotal,Cantidad")] OrdenCompraDetalle detalle)
        {
            if (id is null)
            {
                return(NotFound());
            }

            //0-based index
            detalles[(int)id] = detalle;

            return(Redirect(Request.Headers["Referer"].ToString()));
        }
Ejemplo n.º 7
0
    protected void btnAceptarOrden_Click(object sender, EventArgs e)
    {
        try
        {
            int ordenCompra = Convert.ToInt32(GridOrdenes.DataKeys[0].Value.ToString());
            pvAccom.Clases.EntradaProd        EntProd    = new pvAccom.Clases.EntradaProd();
            List <pvAccom.Clases.EntradaProd> lstEntProd = new List <pvAccom.Clases.EntradaProd>();
            if (Session["lstEntProd"] != null)
            {
                lstEntProd = (List <pvAccom.Clases.EntradaProd>)Session["lstEntProd"];
            }
            OrdenCompra        ordenPrevia = new OrdenCompra();
            DataSet            infoOrden   = ordenPrevia.obtieneInfoDetalle(ordenCompra, Convert.ToInt32(RadGrid1.SelectedValues["id_punto"]));
            OrdenCompraDetalle orden       = new OrdenCompraDetalle();

            int ultimoValor = 0;
            foreach (pvAccom.Clases.EntradaProd ent in lstEntProd)
            {
                ultimoValor = ent.entID;
            }

            short intAlmacen = short.Parse(RadGrid1.SelectedValues["id_punto"].ToString());

            foreach (DataRow fila in infoOrden.Tables[0].Rows)
            {
                EntProd             = new pvAccom.Clases.EntradaProd();
                EntProd.entID       = ultimoValor + 1;
                EntProd.entProducto = fila[0].ToString();
                EntProd.entProdAlm  = intAlmacen;
                string[] producto = fila[1].ToString().Trim().Split(new char[] { ';' });
                EntProd.entProdDesc = producto[0].Trim();//txtProducto.Text;
                EntProd.entCant     = float.Parse(fila[2].ToString());
                EntProd.entCosto    = float.Parse(fila[3].ToString(), System.Globalization.NumberStyles.Currency);
                EntProd.entImporte  = float.Parse(fila[4].ToString(), System.Globalization.NumberStyles.Currency);
                lstEntProd.Add(EntProd);
                ultimoValor++;
            }

            grdDetProductos.DataSource = lstEntProd;
            grdDetProductos.DataBind();
            Session["lstEntProd"] = lstEntProd;
            ActualizaSumas(lstEntProd);
            pnlPopupNvoDoc.Visible   = true;
            pnlOrdenesCompra.Visible = false;
        }
        catch (Exception ex) { }
    }
        //obtener datos para el datagrid de detalle de movimiento
        public List <OrdenCompraDetalle> llenarDGVOrdenDetalle(int id_orden_compra_encabezado)
        {
            SQL_Producto              sql_Producto              = new SQL_Producto();
            SQL_Proveedor             sql_Proveedor             = new SQL_Proveedor();
            SQL_OrdenCompraEncabezado sql_OrdenCompraEncabezado = new SQL_OrdenCompraEncabezado();
            List <OrdenCompraDetalle> ordenCompraDetalle        = new List <OrdenCompraDetalle>();

            try
            {
                string sComando = string.Format("" +
                                                "SELECT " +
                                                "id_orden_compra_detalle, " +
                                                "id_orden_compra_encabezado, " +
                                                "id_proveedor, " +
                                                "id_producto, " +
                                                "cantidad, " +
                                                "precio_unitario " +
                                                "FROM ordenes_compras_detalle " +
                                                "WHERE id_orden_compra_encabezado = {0}; ",
                                                id_orden_compra_encabezado);

                OdbcDataReader reader = transaccion.ConsultarDatos(sComando);

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        OrdenCompraDetalle ordenCompraDetalleTmp = new OrdenCompraDetalle();
                        ordenCompraDetalleTmp.ID_ORDEN_COMPRA_DETALLE    = reader.GetInt32(0);
                        ordenCompraDetalleTmp.ID_ORDEN_COMPRA_ENCABEZADO = sql_OrdenCompraEncabezado.obtenerOrdenEncabezado(reader.GetInt32(1));
                        ordenCompraDetalleTmp.PROVEEDOR       = sql_Proveedor.obtenerProveedor(reader.GetInt32(2));
                        ordenCompraDetalleTmp.PRODUCTO        = sql_Producto.obtenerProducto(reader.GetInt32(3));
                        ordenCompraDetalleTmp.CANTIDAD        = reader.GetInt32(4);
                        ordenCompraDetalleTmp.PRECIO_UNITARIO = reader.GetDouble(5);
                        ordenCompraDetalle.Add(ordenCompraDetalleTmp);
                    }
                }
                return(ordenCompraDetalle);
            }
            catch (OdbcException ex)
            {
                mensaje = new Mensaje("Error en la operacion con la Base de Datos: \n" + ex.Message);
                mensaje.Show();
                return(null);
            }
        }
Ejemplo n.º 9
0
        private void AgregarHuesped(OrdenCompraCompleta nOCC, int CantHuesp, string TipoHab, int CapHab)
        {
            for (int i = 1; i < CantHuesp + 1; i++)
            {
                OrdenCompraDetalle nOCD = new OrdenCompraDetalle();

                TextBox item0 = (TextBox)form1.FindControl("txtRut" + TipoHab + i);
                if (item0.Text.Trim().Length > 0)
                {
                    nOCD.Persona.Rut = item0.Text;

                    TextBox item1 = (TextBox)form1.FindControl("txtNombre" + TipoHab + i);
                    nOCD.Persona.Nombre = item1.Text;

                    TextBox item2 = (TextBox)form1.FindControl("txtApellido" + TipoHab + i);
                    nOCD.Persona.Apellido = item2.Text;

                    //TextBox item3 = (TextBox)form1.FindControl("txtFecha" + TipoHab + i);
                    nOCD.Alojamiento.FechaIngreso = DateTime.Parse(txtFechaIngreso.Text);

                    //TextBox item4 = (TextBox)form1.FindControl("txtFecha" + TipoHab + i);
                    nOCD.Alojamiento.FechaEgreso = DateTime.Parse(txtFechaEgreso.Text);

                    nOCD.Alojamiento.RegistroDias = int.Parse(txtRegistroDias.Text);

                    nOCD.Alojamiento.Habitacion.Capacidad = CapHab;

                    TextBox item5 = (TextBox)form1.FindControl("txtAlojaObs" + TipoHab + i);
                    nOCD.Alojamiento.Observaciones = item5.Text;

                    //se debe incluir los dropdownlist de tipo de comida
                    DropDownList item6 = (DropDownList)form1.FindControl("ddlTipoServCom" + TipoHab + i);
                    nOCD.Comida.ServicioComida.Tipo = item6.SelectedValue;
                    //nOCD.Comida.ServicioComida.Tipo = "general";

                    //TextBox item7 = (TextBox)form1.FindControl("txtComidaObservaciones" + TipoHab + i);
                    //nOCD.Comida.Observaciones = item7.Text;

                    nOCD.Comida.Observaciones = "Sin Observaciones";

                    nOCD.Comida.FechaRecepcion = DateTime.Now;

                    nOCC.ListaDetalle.Add(nOCD);
                }
            }
        }
Ejemplo n.º 10
0
 public ActionResult ShopBasket(FormCollection form)
 {
     if (ModelState.IsValid)
     {
         String[] claves = form.AllKeys;
         foreach (string clave in claves)
         {
             string             id    = clave.Split('_')[1];
             string             valor = form[clave];
             OrdenCompraDetalle ocd   = db.OrdenCompraDetalle.Find(Convert.ToInt32(id));
             ocd.cantidad        = Convert.ToInt32(valor);
             db.Entry(ocd).State = EntityState.Modified;
             db.SaveChanges();
         }
     }
     return(RedirectToAction("ShopBasket"));
 }
Ejemplo n.º 11
0
        public IActionResult CreateDetalle([Bind("ArticuloId,Descripcion,Subtotal,Cantidad")] OrdenCompraDetalle detalle)
        {
            if (detalles is null)
            {
                detalles = new List <OrdenCompraDetalle>();
            }

            if (ModelState.IsValid)
            {
                var seq = _context.OrdenCompraMasters.OrderByDescending(x => x.Id).FirstOrDefault();
                int id  = 0;

                if (seq is null)
                {
                    id = 1;
                }
                else
                {
                    id = seq.Id + 1;
                }


                var     article = _context.Articulos.Find(detalle.ArticuloId);
                decimal price   = article.Price;

                detalle.OrdenCompraMasterId = id;
                detalle.Precio   = price;
                detalle.Subtotal = price * detalle.Cantidad;
                detalle.ITBIS    = detalle.Subtotal * (decimal)0.18;
                detalle.Total    = detalle.Subtotal + detalle.ITBIS;

                detalles.Add(detalle);
                return(RedirectToAction(nameof(Create)));
            }

            return(View());
        }
Ejemplo n.º 12
0
        public ContenedorOrdenesCompraCompleta LlamarSPRescatar(string token)
        {
            ContenedorOrdenesCompraCompleta LOrdenesCompra = new ContenedorOrdenesCompraCompleta();

            if (ValidarFecExp(token))
            {
                try
                {
                    CapaDato.EntitiesBBDDHostel conex = new CapaDato.EntitiesBBDDHostel();

                    var collection = (from cab in conex.ORDEN_DE_COMPRA
                                      join det_aloj in conex.ALOJAMIENTO on cab.NUMERO equals det_aloj.NUMERO_OC
                                      join det_comi in conex.COMIDA on cab.NUMERO equals det_comi.NUMERO_OC
                                      join tip_serv in conex.SERVICIO_COMIDA on det_comi.TIPO_SERVICIO equals tip_serv.TIPO
                                      where det_comi.RUT_PERSONA == det_aloj.RUT_PERSONA
                                      orderby cab.NUMERO
                                      select new
                    {
                        RutCliente = cab.RUT_CLIENTE,
                        NumeroOC = cab.NUMERO,
                        FecRecepOC = cab.RECEPCION,
                        MontoOC = cab.MONTO,
                        EstadoOC = cab.ESTADO,
                        //
                        FecIngAloj = det_aloj.INGRESO,
                        FecEgrAloj = det_aloj.EGRESO,
                        CanDiasAloj = det_aloj.REGISTRO_DIAS,
                        EstadoAloj = det_aloj.CONFIRMADO,
                        RutPersona = det_aloj.RUT_PERSONA,
                        NomPersona = det_aloj.PERSONA.NOMBRE,
                        ApePersona = det_aloj.PERSONA.APELLIDO,
                        NroHab = det_aloj.CAMA.HABITACION.CODIGO,
                        CapaHab = det_aloj.CAMA.HABITACION.CAPACIDAD,
                        PrecioHab = det_aloj.CAMA.HABITACION.PRECIO,
                        //
                        FecRecepCom = det_comi.RECEPCION,
                        EstadoCom = det_comi.CONFIRMADA,
                        //CodPlatoCom = det_comi.CODIGO_PLATO,
                        TipoServ = det_comi.TIPO_SERVICIO,
                        PrecioCom = tip_serv.PRECIO
                    }
                                      ).ToList();

                    decimal NumeroOrdenAnterior = decimal.MinValue;
                    foreach (var item in collection)
                    {
                        //Verificar Corte de control por Numero de Orden
                        if (NumeroOrdenAnterior != item.NumeroOC)
                        {
                            //Se crea la OrdenCompleta
                            OrdenCompraCompleta n = new OrdenCompraCompleta();
                            //Se carga valores de la cabecera
                            n.Cabecera.RutCliente     = item.RutCliente;
                            n.Cabecera.Numero         = item.NumeroOC;
                            n.Cabecera.FechaRecepcion = item.FecRecepOC;
                            n.Cabecera.Monto          = item.MontoOC;
                            n.Cabecera.Estado         = item.EstadoOC;
                            //
                            //Se crea el detalle Orden
                            OrdenCompraDetalle m = new OrdenCompraDetalle();
                            m.Alojamiento.NumerOrdenCompra = item.NumeroOC;
                            m.Persona.Rut                      = item.RutPersona;
                            m.Persona.Nombre                   = item.NomPersona;
                            m.Persona.Apellido                 = item.ApePersona;
                            m.Alojamiento.FechaIngreso         = item.FecIngAloj;
                            m.Alojamiento.FechaEgreso          = (item.FecEgrAloj == null) ? DateTime.MinValue : (DateTime)item.FecEgrAloj;
                            m.Alojamiento.RegistroDias         = (item.CanDiasAloj == null) ? 0 : (int)item.CanDiasAloj;
                            m.Alojamiento.Habitacion.Codigo    = item.NroHab;
                            m.Alojamiento.Confirmado           = item.EstadoAloj;
                            m.Alojamiento.Habitacion.Capacidad = item.CapaHab;
                            m.Alojamiento.Habitacion.Precio    = item.PrecioHab;

                            //m.Alojamiento.
                            //
                            m.Comida.NumerOrdenCompra = item.NumeroOC;
                            m.Comida.FechaRecepcion   = item.FecRecepCom;
                            m.Comida.Confirmada       = item.EstadoCom;
                            //m.Comida.CodigoPlato             = item.CodPlatoCom;
                            m.Comida.ServicioComida.Tipo   = item.TipoServ;
                            m.Comida.ServicioComida.Precio = (item.PrecioCom == null) ? 0 : (int)item.PrecioCom;     //(int)item.PrecioCom;
                            //Se agrega el detalle a la cabecera

                            n.ListaDetalle.Add(m);
                            //Se agrega la orden completa a la orden
                            LOrdenesCompra.Lista.Add(n);

                            //Se realiza logica para armar corte de control
                            NumeroOrdenAnterior = item.NumeroOC;
                        }
                        else
                        {
                            //Se crea el detalle Orden
                            OrdenCompraDetalle m = new OrdenCompraDetalle();
                            m.Alojamiento.NumerOrdenCompra = item.NumeroOC;
                            m.Persona.Rut                      = item.RutPersona;
                            m.Persona.Nombre                   = item.NomPersona;
                            m.Persona.Apellido                 = item.ApePersona;
                            m.Alojamiento.FechaIngreso         = item.FecIngAloj;
                            m.Alojamiento.FechaEgreso          = (item.FecEgrAloj == null) ? DateTime.MinValue : (DateTime)item.FecEgrAloj;
                            m.Alojamiento.RegistroDias         = (item.CanDiasAloj == null) ? 0 : (int)item.CanDiasAloj;
                            m.Alojamiento.Habitacion.Codigo    = item.NroHab;
                            m.Alojamiento.Confirmado           = item.EstadoAloj;
                            m.Alojamiento.Habitacion.Capacidad = item.CapaHab;
                            m.Alojamiento.Habitacion.Precio    = item.PrecioHab;
                            //
                            m.Comida.NumerOrdenCompra = item.NumeroOC;
                            m.Comida.FechaRecepcion   = item.FecRecepCom;
                            m.Comida.Confirmada       = item.EstadoCom;
                            //m.Comida.CodigoPlato             = item.CodPlatoCom;
                            m.Comida.ServicioComida.Tipo   = item.TipoServ;
                            m.Comida.ServicioComida.Precio = (item.PrecioCom == null) ? 0 : (int)item.PrecioCom;     //(int)item.PrecioCom;
                            //Se agrega el detalle a la ultima orden de compra
                            LOrdenesCompra.Lista.Last().ListaDetalle.Add(m);
                        }
                    }
                    LOrdenesCompra.Retorno.Codigo = 0;
                    LOrdenesCompra.Retorno.Glosa  = "OK";
                }
                catch (Exception ex)
                {
                    LOrdenesCompra.Retorno.Codigo = 1011;
                    LOrdenesCompra.Retorno.Glosa  = "Err codret ORACLE";
                }
            }
            else
            {
                LOrdenesCompra.Retorno.Codigo = 100;
                LOrdenesCompra.Retorno.Glosa  = "Err expiro sesion o perfil invalido";
            }

            return(LOrdenesCompra);
        }
Ejemplo n.º 13
0
 protected void lnkAgregarProd_Click(object sender, EventArgs e)
 {
     lblError.Text = "";
     try
     {
         if (lblProducto.Text != "")
         {
             if (Session["listaOrden"] != null)
             {
                 ordenCompraList = (List <OrdenCompraDetalle>)Session["listaOrden"];
             }
             else
             {
                 cargaQuery();
                 lblError.Text = "Su sesión expiro, la orden de compra se reinicio a la lista de articulos sugeridos.";
             }
             if (txtCantidad.Text != "")
             {
                 bool   existe       = false;
                 string idArticulo   = lblIdArticulo.Text;
                 string descArticulo = lblProducto.Text;
                 string categoria    = lblCategoria.Text;
                 foreach (OrdenCompraDetalle lista in ordenCompraList)
                 {
                     if (lista.IdArticulo == lblIdArticulo.Text)
                     {
                         existe = true;
                         break;
                     }
                 }
                 if (existe)
                 {
                     lblError.Text = "El producto indicado ya esta registrado en esta solicitud de compra";
                 }
                 else
                 {
                     decimal cantidad = Convert.ToDecimal(txtCantidad.Text);
                     if (cantidad > 0)
                     {
                         OrdenCompraDetalle ordenD = new OrdenCompraDetalle();
                         ordenD.Cantidad              = cantidad;
                         ordenD.IdArticulo            = idArticulo;
                         ordenD.Producto              = descArticulo;
                         ordenD.Descripcion_categoria = categoria;
                         ordenCompraList.Add(ordenD);
                         GridOrdenCompra.DataSource = ordenCompraList;
                         GridOrdenCompra.DataBind();
                         Session["listaOrden"]    = ordenCompraList;
                         Session["listaOriginal"] = ordenCompraList;
                         lnkGenerarOrden.Visible  = true;
                         limpiaNuevo();
                     }
                     else
                     {
                         lblError.Text = "La cantidad no debe ser menor a 1.";
                     }
                 }
             }
             else
             {
                 lblError.Text = "La cantidad no debe estar vacia.";
             }
         }
         else
         {
             lblError.Text = "Necesita colocar un articulo para agregarlo a la orden de compra.";
         }
     }
     catch (Exception)
     {
         txtCantidad.Text = "";
         RadAutoCompleteBox.Entries.Clear();
         lblError.Text = "Hubo un error al agregar el articulo a la orden de compra, verifique que los datos insertados sean correctos.";
     }
 }