예제 #1
0
        protected void pCargaOrdenes(int pIdFlujo, int pIdCotizacion)
        {
            BD.CotizacionICRL.TipoOrdenTraer vTipoOrdenTraer;
            vTipoOrdenTraer = CotizacionICRL.OrdenTraer(pIdFlujo, pIdCotizacion);

            GridViewOrdenes.DataSource = vTipoOrdenTraer.Ordenes.Select(Ordenes => new
            {
                Ordenes.numero_orden,
                Ordenes.id_estado,
                Ordenes.descripcion,
                Ordenes.monto_bs,
                Ordenes.id_item
            }).ToList();
            GridViewOrdenes.DataBind();
        }
예제 #2
0
        protected void ButtonGenerarOrden_Click(object sender, EventArgs e)
        {
            if (!VerificarPagina(true))
            {
                return;
            }
            bool          vResultado     = false;
            int           vIdFlujo       = 0;
            int           vIdCotizacion  = 0;
            int           vContador      = 1;
            StringBuilder vSBNumeroOrden = new StringBuilder();
            string        vNumeroOrden   = string.Empty;

            vIdFlujo      = int.Parse(TextBoxIdFlujo.Text);
            vIdCotizacion = int.Parse(TextBoxNroCotizacion.Text);

            //generar numero de orden
            vNumeroOrden = string.Empty;
            vSBNumeroOrden.Clear();
            vSBNumeroOrden.Append("OP-");
            vNumeroOrden = TextBoxNroFlujo.Text.Trim();
            vNumeroOrden = vNumeroOrden.PadLeft(6, '0');
            vSBNumeroOrden.Append(vNumeroOrden);
            vSBNumeroOrden.Append("-PE-");
            vNumeroOrden = vIdCotizacion.ToString();
            vNumeroOrden = vNumeroOrden.PadLeft(6, '0');
            vSBNumeroOrden.Append(vNumeroOrden);
            vSBNumeroOrden.Append("-");
            vNumeroOrden = vContador.ToString();
            vSBNumeroOrden.Append(vNumeroOrden.PadLeft(2, '0'));
            vNumeroOrden = vSBNumeroOrden.ToString();

            CotizacionICRL.TipoOrden vTipoOrden = new CotizacionICRL.TipoOrden();
            vTipoOrden.id_flujo      = vIdFlujo;
            vTipoOrden.id_cotizacion = vIdCotizacion;
            vTipoOrden.tipo_origen   = (short)AccesoDatos.TipoInspeccion.RCPersonas;
            vTipoOrden.numero_orden  = vNumeroOrden;
            vTipoOrden.fecha_orden   = DateTime.Today;
            vTipoOrden.descripcion   = TextBoxPerNombreTer.Text.ToUpper();
            vTipoOrden.monto_us      = 0;
            vTipoOrden.id_estado     = 1;

            //Sumar los gastos del detalle
            BD.CotizacionICRL.TipoRCPersonasTraer vTipoRCPersonasTraer;
            vTipoRCPersonasTraer = CotizacionICRL.RCPersonasTraer(vIdFlujo, vIdCotizacion);

            double  vSumaGastos = 0;
            DataSet vDataSetPer = vTipoRCPersonasTraer.dsRCPersonas;

            int vIndiceDataTable = vDataSetPer.Tables.Count - 1;

            if (vIndiceDataTable >= 0)
            {
                for (int i = 0; i < vDataSetPer.Tables[vIndiceDataTable].Rows.Count; i++)
                {
                    double vMontoGasto      = 0;
                    string vTextoMontoGasto = string.Empty;
                    vTextoMontoGasto = vDataSetPer.Tables[vIndiceDataTable].Rows[i][5].ToString();
                    try
                    {
                        vMontoGasto = (double)vDataSetPer.Tables[vIndiceDataTable].Rows[i][5];
                    }
                    catch (Exception)
                    {
                        vMontoGasto = 0;
                    }

                    vSumaGastos = vSumaGastos + vMontoGasto;
                }
            }
            vTipoOrden.monto_bs = vSumaGastos;

            //ajuste ordenes
            CotizacionICRL.TipoOrdenTraer vTipoOrdenTraer;
            CotizacionICRL.TipoOrden      vTipoOrdenAux = new CotizacionICRL.TipoOrden();
            vTipoOrdenTraer = CotizacionICRL.OrdenTraer(vIdFlujo, vIdCotizacion);

            if (vTipoOrdenTraer.Ordenes.Count > 0)
            {
                //si existe registro se borra
                vTipoOrdenAux = vTipoOrdenTraer.Ordenes.FirstOrDefault();
                vResultado    = CotizacionICRL.OrdenBorrar(vTipoOrdenAux.id_flujo, vTipoOrdenAux.id_cotizacion, vTipoOrdenAux.id_item);
            }

            vResultado = CotizacionICRL.OrdenRegistrar(vTipoOrden);
            if (vResultado)
            {
                LabelDatosPersonaMsj.Text = "Orden creada exitosamente";
            }
            else
            {
                LabelDatosPersonaMsj.Text = "la Orden no se pudo crear";
            }
            pCargaOrdenes(vIdFlujo, vIdCotizacion);
        }