Пример #1
0
        public void Save(ctrlEspecifico ctrEsp)
        {
            ctrEsp = panel1.Controls[0] as ctrlEspecifico;
            DataGridView dgv = ctrEsp.Controls["dgvDetalle"] as DataGridView;

            __Proveedor = ctrEsp.__Proveedor;

            if (!string.IsNullOrEmpty(__Proveedor))
            {
                if (!cbCuenta.SelectedValue.ToString().Equals("0"))
                {
                    Clases.Requisicion.Estatus      = "0";
                    Clases.Requisicion.ID           = 0;
                    Clases.Requisicion.Fecha        = DateTime.Now;
                    Clases.Requisicion.Cuenta       = string.Empty;
                    Clases.Requisicion.Tipo         = string.Empty;
                    Clases.Requisicion.Modificacion = DateTime.Now;

                    Clases.Requisicion.Fecha        = dateTimePicker1.Value;
                    Clases.Requisicion.Total        = dgv.Rows.Cast <DataGridViewRow>().Sum(x => Convert.ToDecimal(x.Cells["LineTotal"].Value)) * (decimal)1.16;
                    Clases.Requisicion.Iva          = dgv.Rows.Cast <DataGridViewRow>().Sum(x => Convert.ToDecimal(x.Cells["LineTotal"].Value)) * (decimal)0.16;
                    Clases.Requisicion.Cuenta       = cbCuenta.SelectedValue.ToString();
                    Clases.Requisicion.Tipo         = txtTipo.Text == "ESPECIFICA" ? "E" : "G";
                    Clases.Requisicion.Modificacion = DateTime.Now;

                    if (Clases.Requisicion.Total != 0 && dgv.Rows.Count > 1)
                    {
                        Clases.Requisicion.ExecuteReader();

                        txtFolio.Text = Clases.Requisicion.ID.ToString();

                        for (int i = 0; i < dgv.Rows.Count - 1; i++)
                        {
                            Clases.Objetos.DetalleRequisicion dreq = new Clases.Objetos.DetalleRequisicion();
                            dreq.ID          = Clases.Requisicion.ID;
                            dreq.NumProv     = 1;
                            dreq.Proveedor   = __Proveedor;
                            dreq.Linea       = Convert.ToInt32(dgv.Rows[i].Cells["Linea"].Value);
                            dreq.Articulo    = Convert.ToString(dgv.Rows[i].Cells["ItemCode"].Value);
                            dreq.Descripcion = Convert.ToString(dgv.Rows[i].Cells["ItemName"].Value);
                            dreq.Cantidad    = Convert.ToDecimal(dgv.Rows[i].Cells["Quantity"].Value);
                            dreq.Precio      = Convert.ToDecimal(dgv.Rows[i].Cells["Price"].Value);
                            dreq.LineTotal   = Convert.ToDecimal(dgv.Rows[i].Cells["LineTotal"].Value);

                            dreq.ExecuteNonQuery(dreq);
                        }

                        lblEstatus.Text = "Listo";
                    }
                    else
                    {
                        lblEstatus.Text = "El total de la requisición no puede ser cero, debe ingresar al menos un artículo o servicio";
                    }
                }
                else
                {
                    lblEstatus.Text = "Error: Selecciona una cuenta.";
                }
            }
            else
            {
                lblEstatus.Text = "Error: Selecciona un Proveedor.";
            }
        }
Пример #2
0
        public void Save(ctrlGeneral ctrGrl)
        {
            ctrGrl = panel1.Controls[0] as ctrlGeneral;
            DataGridView dgv = ctrGrl.Controls["panel1"].Controls["dgvDetalle"] as DataGridView;

            if (!string.IsNullOrEmpty(ctrGrl.prov[0].CardCode == "0" ? string.Empty : ctrGrl.prov[0].CardCode))
            {
                if (!string.IsNullOrEmpty(ctrGrl.prov[1].CardCode == "0" ? string.Empty : ctrGrl.prov[1].CardCode))
                {
                    if (!string.IsNullOrEmpty(ctrGrl.prov[2].CardCode == "0" ? string.Empty : ctrGrl.prov[2].CardCode))
                    {
                        Clases.Requisicion.Estatus      = "0";
                        Clases.Requisicion.ID           = 0;
                        Clases.Requisicion.Fecha        = DateTime.Now;
                        Clases.Requisicion.Cuenta       = string.Empty;
                        Clases.Requisicion.Tipo         = string.Empty;
                        Clases.Requisicion.Modificacion = DateTime.Now;

                        Clases.Requisicion.Fecha        = dateTimePicker1.Value;
                        Clases.Requisicion.Cuenta       = cbCuenta.SelectedValue.ToString();
                        Clases.Requisicion.Tipo         = txtTipo.Text == "ESPECIFICA" ? "E" : "G";
                        Clases.Requisicion.Modificacion = DateTime.Now;

                        if (ValidarGrid(dgv))
                        {
                            if (dgv.Rows.Count > 1)
                            {
                                Clases.Requisicion.ExecuteReader();

                                txtFolio.Text = Clases.Requisicion.ID.ToString();

                                for (int j = 1; j <= 3; j++)
                                {
                                    for (int i = 0; i < dgv.Rows.Count - 1; i++)
                                    {
                                        Clases.Objetos.DetalleRequisicion dreq = new Clases.Objetos.DetalleRequisicion();
                                        dreq.ID          = Clases.Requisicion.ID;
                                        dreq.NumProv     = j;
                                        dreq.Proveedor   = ctrGrl.prov[j - 1].CardCode;
                                        dreq.Linea       = Convert.ToInt32(dgv.Rows[i].Cells["Linea"].Value);
                                        dreq.Sugerencia  = Convert.ToBoolean(dgv.Rows[i].Cells["Sugerido" + j].Value == DBNull.Value ? false : dgv.Rows[i].Cells["Sugerido" + j].Value);
                                        dreq.Articulo    = null;
                                        dreq.Descripcion = Convert.ToString(dgv.Rows[i].Cells["ItemName"].Value);
                                        dreq.Cantidad    = Convert.ToDecimal(dgv.Rows[i].Cells["Quantity"].Value);
                                        dreq.Precio      = Convert.ToDecimal(dgv.Rows[i].Cells["Price" + j].Value);
                                        dreq.LineTotal   = Convert.ToDecimal(dgv.Rows[i].Cells["LineTotal" + j].Value);

                                        dreq.ExecuteNonQuery(dreq);
                                    }
                                }
                                lblEstatus.Text = "Listo";
                            }
                            else
                            {
                                lblEstatus.Text = "Error: Debe ingresar al menos un artículo o servicio";
                            }
                        }
                        else
                        {
                            lblEstatus.Text = "Algunas lineas contien errores, corrijalos para poder continuar.";
                        }
                    }
                    else
                    {
                        lblEstatus.Text = "Seleccione un proveedor [Proveedor 3]";
                    }
                }
                else
                {
                    lblEstatus.Text = "Seleccione un proveedor [Proveedor 2]";
                }
            }
            else
            {
                lblEstatus.Text = "Seleccione un proveedor [Proveedor 1]";
            }
        }