public New_Orden(Modelo.Orden_Compra miOrden, string miACCION)
        {
            InitializeComponent();
            btn_Imprimir.Visible = false;
            cOrden         = Controladora.ControladoraOrdenes.obtener_instancia();
            cDetalleCompra = Controladora.ControladoraDetalle.obtener_instancia();
            cReq           = Controladora.Controladora_Req.obtener_instancia();
            cEstado        = Controladora.ControladoraEstado.obtener_instancia();



            oOrden = miOrden;
            ACCION = miACCION;
            if (ACCION != "A")
            {
                textBoxfiltro.Text    = oOrden.Proveedor.Razon_Social.ToString();
                textBoxId.Text        = oOrden.Id.ToString();
                dtp_FechaLimite.Value = oOrden.Fecha_Limite.Value;
                Fecha.Text            = oOrden.Ultima_Modificacion.ToString();
                if (oOrden.Fecha_Limite.Value < DateTime.Now)
                {
                    Add_Item.Visible    = false;
                    Delete_Item.Visible = false;
                }
                Filtrar();
            }
        }
示例#2
0
        private void btnBAJAS_Click(object sender, EventArgs e)
        {
            if (dgvOrdenes.CurrentRow == null)
            {
                MessageBox.Show("Debe seleccionar una orden de la lista", "ATENCION!!");
                return;
            }
            Modelo.Orden_Compra orden = cOrden.OBTENER(Convert.ToInt32(dgvOrdenes.CurrentRow.Cells[0].Value));

            DialogResult dr = MessageBox.Show("¿Confirma que desea anular la oden de compra para " + orden.Proveedor.Razon_Social + "?", "ELIMINAR ORDEN", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dr == System.Windows.Forms.DialogResult.Yes)
            {
                if (orden.Estados.Descripcion != "En curso")
                {
                    MessageBox.Show("La orden no se puede eliminar porque posee un remito");
                    return;
                }
                else
                {
                    cDetalle.Eliminar_Multiple(orden.Id);
                }
                cOrden.Eliminar(orden);
                ARMA_GRILLA();
            }
        }
示例#3
0
        public void modificar(Modelo.Orden_Compra oArticulos)
        {
            //oModelo = Modelo.SingletonContexto.obtener_instancia();

            /* Modelo.SingletonContexto.Entry(oArticulos).State = System.Data.Entity.EntityState.Modified;
             * oMODELO_SEGURIDAD.SaveChanges();*/
            //Modelo.SingletonContexto.obtener_instancia().Contexto.ArticuloSet.(oArticulos);

            Modelo.SingletonContexto.obtener_instancia().Contexto.Entry(oArticulos).State = System.Data.Entity.EntityState.Modified;
            Modelo.SingletonContexto.obtener_instancia().Contexto.SaveChanges();
        }
示例#4
0
 public bool ValidarFk(Int32 id_Req)
 {
     Modelo.Orden_Compra oArticulo = Modelo.SingletonContexto.obtener_instancia().Contexto.Orden_CompraSet.FirstOrDefault(u => (u.Proveedor.Id == id_Req));
     if (oArticulo == null)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
示例#5
0
 public bool VALIDA_NOMBRE_Proveedor(string nombre_Articulo)
 {
     Modelo.Orden_Compra oArticulo = Modelo.SingletonContexto.obtener_instancia().Contexto.Orden_CompraSet.FirstOrDefault(u => (u.Proveedor.Razon_Social == nombre_Articulo));
     if (oArticulo == null)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
示例#6
0
        private void btn_AddProv_Click(object sender, EventArgs e)
        {
            Proveedores frm = new Proveedores();

            frm.Size = new Size(500, 450);

            frm.FormBorderStyle  = FormBorderStyle.None;
            frm.labeltitulo.Text = "Elegir Proveedor";
            DialogResult dr = frm.ShowDialog();

            if (dr == DialogResult.OK)
            {
                oProveedor = frm.ProvSelec;
                if (cProveedor.ValidarFk(oProveedor.Id))
                {
                    if (cOrden.Asociar(oProveedor.Razon_Social).Estados.Descripcion == "En curso")
                    {
                        textBoxfiltro.Text = oProveedor.Razon_Social.ToString();
                        Fecha.Text         = hoy.ToShortDateString();
                        orden                = cOrden.Asociar(textBoxfiltro.Text);
                        textBoxId.Text       = orden.Id.ToString();
                        oRemito.Fecha        = Convert.ToDateTime(Fecha.Text);
                        oRemito.Orden_Compra = orden;
                        cRemito.Agregar(oRemito);
                        Filtrar();
                    }
                    else
                    {
                        MessageBox.Show("La Orden para " + oProveedor.Razon_Social + " ya  se cerro y posee su remito correspondiente");
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("No hay ninguna orden para " + oProveedor.Razon_Social);
                }
                return;
            }
        }
示例#7
0
        private void btn_Save_Click(object sender, EventArgs e)
        {
            /*foreach (DataGridViewRow F in dgvDetalleCompra.Rows)
             * {
             *  int cod;
             *  Estado = Convert.ToBoolean(F.Cells["Estado"].Value);
             *  if (Estado == true)
             *  {
             *      cod = Convert.ToInt32(F.Cells[4].Value);
             *      Requerimiento = cReq.OBTENER(cod);
             *      Requerimiento.Estado = true;
             *      cReq.modificarRequerimiento(Requerimiento);
             *  }
             * }*/
            bool Estado;

            foreach (DataGridViewRow F in dgvDetalleCompra.Rows)
            {
                int cod;
                int cantidad;
                int resultado;
                Estado = Convert.ToBoolean(F.Cells["Estado"].Value);
                if (Estado == true)
                {
                    cod           = Convert.ToInt32(F.Cells["Id_Req"].Value);
                    cantidad      = Convert.ToInt32(F.Cells[1].Value);
                    oArt          = cArt.OBTENER_ARTICULO(Convert.ToInt32(F.Cells["Id_Art"].Value));
                    Requerimiento = cReq.OBTENER(cod);

                    if (ACCION == "M")
                    {
                        oArt.Stock      = (oArt.Stock - Convert.ToInt32(cDetalleCompra.OBTENER(Convert.ToInt32(F.Cells["Id"].Value)).Cantidad)) + cantidad;
                        oArt.Pendientes = oArt.Pendientes - cantidad;
                        //cReq.modificarRequerimiento(Requerimiento);
                        //cArt.modificarArticulos(oArt);
                    }
                    if (ACCION == "A")
                    {
                        oArt.Stock      = oArt.Stock + cantidad;
                        oArt.Pendientes = oArt.Pendientes - cantidad;
                        // cReq.modificarRequerimiento(Requerimiento);
                        // cArt.modificarArticulos(oArt);
                    }
                    Requerimiento.Estado = Estado;
                    if (Requerimiento.Cantidad > cantidad)
                    {
                        Modelo.Comentarios oComentario = new Modelo.Comentarios();
                        resultado = Requerimiento.Cantidad - cantidad;
                        Requerimiento.Cantidad  = cantidad;
                        oComentario.Faltantes   = resultado;
                        oComentario.Articulo    = Requerimiento.Articulo;
                        oComentario.Estado      = false;
                        oComentario.Descripcion = "Faltan " + resultado + " unidad/es del articulo " + Requerimiento.Articulo.Descripcion;
                        cComentario.Agregar(oComentario);
                        cReq.modificarRequerimiento(Requerimiento);
                        cArt.modificarArticulos(oArt);
                    }
                    else
                    {
                        Requerimiento.Cantidad = cantidad;
                    }
                    cReq.modificarRequerimiento(Requerimiento);
                    cArt.modificarArticulos(oArt);
                }
                else
                {
                    cod                  = Convert.ToInt32(F.Cells[4].Value);
                    Requerimiento        = cReq.OBTENER(cod);
                    Requerimiento.Estado = Estado;
                    Modelo.Comentarios oComentario = new Modelo.Comentarios();
                    cantidad = Convert.ToInt32(F.Cells[1].Value);


                    oComentario.Faltantes   = cantidad;
                    oComentario.Articulo    = Requerimiento.Articulo;
                    oComentario.Estado      = false;
                    oComentario.Descripcion = "Faltan " + cantidad + " unidad/es del articulo " + Requerimiento.Articulo.Descripcion;
                    cComentario.Agregar(oComentario);
                    //Requerimiento.Cantidad = Convert.ToInt32(F.Cells[1].Value);
                    cReq.modificarRequerimiento(Requerimiento);
                }
            }



            Int32 Contador         = 0;
            Int32 ContadorPositivo = 0;
            Int32 ContadorNegativo = 0;

            foreach (DataGridViewRow F in dgvDetalleCompra.Rows)
            {
                Int32 Llego;
                Contador = Contador + 1;
                //Llego = Convert.ToInt32(F.Cells[1].Value);
                // bool Estado;
                Estado = Convert.ToBoolean(F.Cells["Estado"].Value);
                if (Estado == true)
                {
                    ContadorPositivo = ContadorPositivo + 1;
                }

                if (Estado == false)
                {
                    ContadorNegativo = ContadorNegativo + 1;
                }
            }

            if (Contador == ContadorPositivo)
            {
                //Llego = Convert.ToInt32(F.Cells[1].Value);
                if (ACCION == "A")
                {
                    orden         = cOrden.Asociar(textBoxfiltro.Text);
                    orden.Estados = cEstado.OBTENER_Estado(3);
                    cOrden.modificar(orden);
                    MessageBox.Show("Orden cerrada");
                }
                else
                {
                    orden         = oRemito.Orden_Compra;
                    orden.Estados = cEstado.OBTENER_Estado(3);
                    cOrden.modificar(orden);
                    MessageBox.Show("Orden cerrada");
                }
            }
            else if (Contador == ContadorNegativo)
            {
                if (ACCION == "A")
                {
                    OrdenDeCompra_Estados frm = new OrdenDeCompra_Estados("Buscar");
                    //frm.FormBorderStyle = FormBorderStyle.None;
                    frm.Show();
                    orden         = cOrden.Asociar(textBoxfiltro.Text);
                    orden.Estados = cEstado.OBTENER_Estado(1);
                    cOrden.modificar(orden);
                    //MessageBox.Show("Orden abierta");
                }
                else
                {
                    //OrdenDeCompra_Estados frm = new OrdenDeCompra_Estados();
                    //frm.FormBorderStyle = FormBorderStyle.None;
                    //frm.Show();

                    OrdenDeCompra_Estados frm = new OrdenDeCompra_Estados("Buscar");
                    frm.Size            = new Size(646, 382);
                    frm.StartPosition   = FormStartPosition.CenterParent;
                    frm.FormBorderStyle = FormBorderStyle.None;
                    orden = oRemito.Orden_Compra;
                    DialogResult dr = frm.ShowDialog();
                    if (dr == DialogResult.OK)
                    {
                        orden.Estados = frm.ArticuloSelec;
                    }

                    //orden.Estados = cEstado.OBTENER_Estado(1);
                    cOrden.modificar(orden);
                    //MessageBox.Show("Orden abierta");
                }
            }
            else
            {
                if (ACCION == "A")
                {
                    orden         = cOrden.Asociar(textBoxfiltro.Text);
                    orden.Estados = cEstado.OBTENER_Estado(2);
                    cOrden.modificar(orden);
                    MessageBox.Show("Orden abierta");
                }

                else
                {
                    orden         = oRemito.Orden_Compra;
                    orden.Estados = cEstado.OBTENER_Estado(2);
                    cOrden.modificar(orden);
                    MessageBox.Show("Orden Parcial");
                }
            }


            //this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
 public void Agregar(Modelo.Orden_Compra art)
 {
     Modelo.SingletonContexto.obtener_instancia().Contexto.Orden_CompraSet.Add(art);
     Modelo.SingletonContexto.obtener_instancia().Contexto.SaveChanges();
 }
 public void Eliminar(Modelo.Orden_Compra art)
 {
     Modelo.SingletonContexto.obtener_instancia().Contexto.Orden_CompraSet.Remove(art);
     Modelo.SingletonContexto.obtener_instancia().Contexto.SaveChanges();
 }