Esempio n. 1
0
    protected void btnAprobar_Click(object sender, ImageClickEventArgs e)
    {
        if (lblFechaAprobacion.Text != "")
        {
            DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter DACabecera = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
            DSConosud.CabeceraHojasDeRutaDataTable DTCabecera = DACabecera.GetById(Convert.ToInt32(cboPriodosAjax.SelectedItem.Value));

            ((DSConosud.CabeceraHojasDeRutaRow)DTCabecera.Rows[0]).FechaAprobacionSinLegajos = System.DateTime.Now.Date;
            ((DSConosud.CabeceraHojasDeRutaRow)DTCabecera.Rows[0]).IdEstado = (long)Helpers.EstadosHoja.Aprobada;

            DACabecera.Update(DTCabecera.Rows[0]);

            lblContratista.Text     = "";
            lblContrato.Text        = "";
            lblPeriodo.Text         = "";
            lblFechaAprobacion.Text = "";

            string alert = "alert('La hoja de ruta fue aprobada con existo'); window.document.forms[0].submit();";
            System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);
        }
        else
        {
            string alert = "alert('Debe seleccionar un periodo para aprobar')";
            System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);
        }
    }
    private List ObtenerEstimacion(List CurrentList, Int64 id, out bool CargoElementos)
    {
        CargoElementos = false;
        List Estimacion = new List(false, 20);

        Estimacion.ListSymbol = new Chunk("");


        DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabecera = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
        DSConosud.CabeceraHojasDeRutaDataTable DTCabecera = TACabecera.GetById((int)id);


        if (DTCabecera.Rows.Count > 0)
        {
            foreach (DSConosud.CabeceraHojasDeRutaRow row in DTCabecera.Rows)
            {
                if (row.Estimacion != null && row.Estimacion != "")
                {
                    Estimacion.Add(new iTextSharp.text.ListItem(row.Estimacion));
                    CurrentList.Add(Estimacion);
                    CargoElementos = true;
                }
            }
        }
        else
        {
            CargoElementos = false;
        }

        return(CurrentList);
    }
    protected void btnAprobar_Click(object sender, ImageClickEventArgs e)
    {
        bool   EsApta        = true;
        string itemControlar = "";

        foreach (GridViewRow ItemPla in gdItemHoja.Rows)
        {
            foreach (Control ctr in ItemPla.Cells[4].Controls)
            {
                if (ctr.ID == "chkAprobo" && !((CheckBox)ctr).Checked)
                {
                    EsApta         = false;
                    itemControlar += "\\t" + gdItemHoja.DataKeys[ItemPla.RowIndex].Values["Titulo"].ToString() + "\\n";
                }
            }
        }

        if (!EsApta)
        {
            string alert = "alert('No todos los ítems estan aprobados, debe aprobar todos los ítems para aprobar la Hoja de Ruta.\\n" +
                           "Items por Controlar:\\n" + itemControlar + "')";

            System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);

            return;
        }


        // La empresa como los subcontratistas tiene que tener la hoja de ruta
        // aprobada para que la contratista pueda aprobar la misma.
        if (_esContratista)
        {
            DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabecera = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
            int?cant = TACabecera.GetCantHojasNoAprobada(_idCabecera);

            if (cant > 0)
            {
                string alert = "alert('Algunos de los subcontratistras no posee la hoja de ruta aprobada para este período.\\nNo se puede aprobar esta hoja de ruta.')";
                System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);
                return;
            }
        }

        //No Aprobar la Hoja Actual si las anteriores no están Aprobadas
        if (!_esUltimaHoja)
        {
            DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabecera = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
            int Cantidad = Convert.ToInt32(TACabecera.CantHojasAntNoAprobadas(_idContratoEmpresa, _idCabecera));
            if (Cantidad > 0)
            {
                string alert = "alert('No se puede Aprobar dicha hoja de ruta hasta no aprobar las anteriores.')";
                System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);
                return;
            }
        }


        //  No aprobar la penúltima hoja si la ultima no esta aprobada.
        if (_esPenultimaHoja)
        {
            if (((DSConosud.CabeceraHojasDeRutaRow)_DTCabecera.Rows[ULTIMA]).IdEstado == (long)Helpers.EstadosHoja.NoAprobada)
            {
                string alert = "alert('No se puede Aprobar dicha hoja de ruta hasta no aprobar la Ultima hoja de ruta.')";
                System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);
                return;
            }
        }



        // Si llego a este punto significa que se puede aprobar la hoja
        //actual.
        if (_esUltimaHoja)
        {
            if (_puedeAprobarPenultimaHoja)
            {
                // Aprueba la Cabecera de la Hoja Actual.
                DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabecera = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
                _DTCabecera = TACabecera.GetUltimasCabecerasByContrato(_idContratoEmpresa);
                ((DSConosud.CabeceraHojasDeRutaRow)_DTCabecera.Rows[PENULTIMA]).IdEstado = (long)Helpers.EstadosHoja.Aprobada;
                ((DSConosud.CabeceraHojasDeRutaRow)_DTCabecera.Rows[ULTIMA]).IdEstado    = (long)Helpers.EstadosHoja.Aprobada;
                TACabecera.Update(_DTCabecera);
            }
            else
            {
                string alert = "alert('No se puede Aprobar la ultima hoja de ruta hasta aprobar la hoja anterior.')";
                System.Web.UI.ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", alert, true);
                return;
            }
        }
        else
        {
            // Aprueba la Cabecera de la Hoja Actual.
            DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabecera = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
            _DTCabecera = TACabecera.GetById(_idCabecera);
            ((DSConosud.CabeceraHojasDeRutaRow)_DTCabecera.Rows[0]).IdEstado = (long)Helpers.EstadosHoja.Aprobada;
            TACabecera.Update(_DTCabecera);
        }
    }