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); } }
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(); }
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; } }
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); } }