Пример #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);
        }
    }
Пример #2
0
    protected void dvContratos_ItemInserting(object sender, DetailsViewInsertEventArgs e)
    {
        DSConosud Ds = new DSConosud();

        DSConosud.ContratoRow drContrato = Ds.Contrato.NewContratoRow();
        drContrato.Codigo   = (string)e.Values["Codigo"];
        drContrato.Servicio = (string)e.Values["Servicio"];
        if (e.Values["FechaInicio"] != null)
        {
            drContrato.FechaInicio = Convert.ToDateTime(e.Values["FechaInicio"]);
        }
        if (e.Values["FechaVencimiento"] != null)
        {
            drContrato.FechaVencimiento = Convert.ToDateTime(e.Values["FechaVencimiento"]);
        }
        if (e.Values["Prorroga"] != null)
        {
            drContrato.Prorroga = Convert.ToDateTime(e.Values["Prorroga"]);
        }
        if (e.Values["TipoContrato"] != null)
        {
            drContrato.TipoContrato = Convert.ToInt64(e.Values["TipoContrato"]);
        }
        if (e.Values["Contratadopor"] != null)
        {
            drContrato.Contratadopor = Convert.ToInt64(e.Values["Contratadopor"]);
        }
        Ds.Contrato.AddContratoRow(drContrato);

        DropDownList DDLInsertContra = (DropDownList)this.dvContratos.FindControl("DDLInsertContratista");

        DSConosud.ContratoEmpresasRow drEmpresaContrato = Ds.ContratoEmpresas.NewContratoEmpresasRow();
        drEmpresaContrato.EsContratista = true;
        drEmpresaContrato.IdContrato    = drContrato.IdContrato;
        drEmpresaContrato.IdEmpresa     = Convert.ToInt32(DDLInsertContra.SelectedValue);
        Ds.ContratoEmpresas.AddContratoEmpresasRow(drEmpresaContrato);

        DSConosudTableAdapters.ContratoTableAdapter TAContrato = new DSConosudTableAdapters.ContratoTableAdapter();
        TAContrato.Update(Ds);

        DSConosudTableAdapters.ContratoEmpresasTableAdapter TAContratoEmpresa = new DSConosudTableAdapters.ContratoEmpresasTableAdapter();
        TAContratoEmpresa.Update(Ds);

        DSConosudTableAdapters.EmpresaTableAdapter TAEmpresas = new DSConosudTableAdapters.EmpresaTableAdapter();
        TAEmpresas.FillByIdEmpresa(Ds.Empresa, Convert.ToInt32(drEmpresaContrato.IdEmpresa));

        DateTime FFin = DateTime.Now;

        if (drContrato.IsProrrogaNull())
        {
            FFin = drContrato.FechaVencimiento;
        }
        else
        {
            FFin = drContrato.Prorroga;
        }

        Helpers.GenerarHojadeRuta(Ds, drContrato.FechaInicio, FFin, drEmpresaContrato.IdContratoEmpresas);

        DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabHojaRuta = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
        DSConosudTableAdapters.HojasDeRutaTableAdapter         TAHojaRuta    = new DSConosudTableAdapters.HojasDeRutaTableAdapter();
        TACabHojaRuta.Update(Ds);
        TAHojaRuta.Update(Ds);

        e.Cancel = true;
        dvContratos.ChangeMode(DetailsViewMode.ReadOnly);

        _datos = ODSSelContratos.Select();
        gvContratos.DataSource = _datos;
        gvContratos.DataBind();
    }
Пример #3
0
    protected void dvContratos_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        try
        {
            DateTime FechaInicioAnt   = Convert.ToDateTime(e.OldValues[2]);
            DateTime FechaFinAnt      = DateTime.MinValue;
            DateTime FechaInicioNuevo = Convert.ToDateTime(e.NewValues[2]);
            DateTime FechaFinNuevo    = DateTime.MinValue;

            FechaFinAnt   = DeterminarFinPeriodo(e.OldValues[3], e.OldValues[4], ref FechaFinAnt);
            FechaFinNuevo = DeterminarFinPeriodo(e.NewValues[3], e.NewValues[4], ref FechaFinNuevo);


            DSConosud Ds = new DSConosud();
            Ds.EnforceConstraints = false;
            DSConosud DsFinal = new DSConosud();
            DsFinal.EnforceConstraints = false;

            long IdContrato = Convert.ToInt64(gvContratos.SelectedValue);

            DSConosudTableAdapters.ContratoEmpresasTableAdapter    TAContratoEmpresa = new DSConosudTableAdapters.ContratoEmpresasTableAdapter();
            DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter TACabHojaRuta     = new DSConosudTableAdapters.CabeceraHojasDeRutaTableAdapter();
            DSConosudTableAdapters.HojasDeRutaTableAdapter         TAHojaRuta        = new DSConosudTableAdapters.HojasDeRutaTableAdapter();

            TAContratoEmpresa.FillByIdContrato(Ds.ContratoEmpresas, IdContrato);

            foreach (DSConosud.ContratoEmpresasRow rowContEmp in Ds.ContratoEmpresas)
            {
                Ds.CabeceraHojasDeRuta.Clear();
                Ds.HojasDeRuta.Clear();

                TACabHojaRuta.FillByIdContEmp(Ds.CabeceraHojasDeRuta, rowContEmp.IdContratoEmpresas);

                if (Ds.CabeceraHojasDeRuta.Count > 0)
                {
                    foreach (DSConosud.CabeceraHojasDeRutaRow CabHR in Ds.CabeceraHojasDeRuta)
                    {
                        Ds.Merge(TAHojaRuta.GetDataByCabecera(CabHR.IdCabeceraHojasDeRuta));
                    }

                    if (FechaInicioNuevo != FechaInicioAnt)
                    {
                        if (FechaInicioNuevo > FechaInicioAnt)
                        {
                            ///Borro Diferencias
                            foreach (DSConosud.CabeceraHojasDeRutaRow rowCabHR in Ds.CabeceraHojasDeRuta)
                            {
                                if (FechaInicioNuevo > rowCabHR.Periodo)
                                {
                                    rowCabHR.Delete();
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }
                        else
                        {
                            ///Agrega Diferencias
                            FechaInicioAnt = FechaInicioAnt.AddMonths(-1);
                            Helpers.GenerarHojadeRuta(Ds, FechaInicioNuevo, FechaInicioAnt, rowContEmp.IdContratoEmpresas);
                        }
                    }

                    if (FechaFinNuevo != FechaFinAnt)
                    {
                        if (FechaFinNuevo > FechaFinAnt)
                        {
                            ///Agrega Diferencias
                            FechaFinAnt = FechaFinAnt.AddMonths(1);
                            Helpers.GenerarHojadeRuta(Ds, FechaFinAnt, FechaFinNuevo, rowContEmp.IdContratoEmpresas);
                        }
                        else
                        {
                            ///Borro Diferencias
                            foreach (DSConosud.CabeceraHojasDeRutaRow rowCabHR in Ds.CabeceraHojasDeRuta)
                            {
                                if (rowCabHR.Periodo > FechaFinNuevo)
                                {
                                    rowCabHR.Delete();
                                }
                            }
                        }
                    }
                }
                else
                {
                    Helpers.GenerarHojadeRuta(Ds, FechaInicioNuevo, FechaFinNuevo, rowContEmp.IdContratoEmpresas);
                }

                DsFinal.Merge(Ds.CabeceraHojasDeRuta);
                DsFinal.Merge(Ds.HojasDeRuta);
                TACabHojaRuta.Update(DsFinal);
                TAHojaRuta.Update(DsFinal);
            }
        }
        catch (Exception ex)
        {
            e.Cancel = true;
        }
    }
Пример #4
0
    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);
        }
    }