protected void btnAplicar_Click(object sender, EventArgs arg) { foreach (GridItem item in gvItemHoja.Items) { long id = long.Parse(gvItemHoja.Items[item.DataSetIndex].GetDataKeyValue("IdHoja").ToString()); Entidades.HojasDeRuta itemsHoja = (from H in Contexto.HojasDeRuta where H.IdHojaDeRuta == id select H).First <Entidades.HojasDeRuta>(); if ((item.FindControl("chkAprobo") as CheckBox).Checked) { itemsHoja.HojaFechaAprobacion = DateTime.Now; itemsHoja.HojaFechaControlado = DateTime.Now; itemsHoja.AuditadoPor = (Session["usuario"] as Entidades.SegUsuario).Login; } itemsHoja.AuditoriaTerminada = (item.FindControl("chkTerminoAuditoria") as CheckBox).Checked; (item.FindControl("chkAprobo") as CheckBox).Checked = false; } Contexto.SaveChanges(); CargarDatosSession(); gvItemHoja.Rebind(); }
protected void btnAplicar_Click(object sender, EventArgs arg) { _dc = new EntidadesConosud(); foreach (GridItem item in gvItemHoja.Items) { if ((item.FindControl("chkPresento") as CheckBox).Checked) { long id = long.Parse(gvItemHoja.Items[item.DataSetIndex].GetDataKeyValue("IdHojaDeRuta").ToString()); Entidades.HojasDeRuta itemsHoja = (from H in _dc.HojasDeRuta where H.IdHojaDeRuta == id select H).First <Entidades.HojasDeRuta>(); itemsHoja.DocFechaEntrega = DateTime.Now; itemsHoja.DocComentario = "Sin Comentarios"; (item.FindControl("chkPresento") as CheckBox).Checked = false; /// al presnetar documentación para una hoja de ruta que esta publicada /// se des-publica automaticamente. itemsHoja.CabeceraHojasDeRutaReference.Load(); itemsHoja.CabeceraHojasDeRuta.Publicar = false; itemsHoja.CabeceraHojasDeRuta.EsFueraTermino = chkFueraTermino.Checked; itemsHoja.CabeceraHojasDeRuta.Publicar = false; } } _dc.SaveChanges(); CargarGrilla(); upGrilla.Update(); }
public static object UpdateDataItem(IDictionary <string, object> item, long id) { long idcabecera = 0; EntidadesConosud _dc = new EntidadesConosud(); Entidades.HojasDeRuta itemsHoja = (from H in _dc.HojasDeRuta where H.IdHojaDeRuta == id select H).First <Entidades.HojasDeRuta>(); if (item["FechaEntrega"] != null) { itemsHoja.DocFechaEntrega = DateTime.Parse(item["FechaEntrega"].ToString()); } else { itemsHoja.DocFechaEntrega = null; } itemsHoja.DocComentario = item["Comentario"].ToString(); /// al presnetar documentación para una hoja de ruta que esta publicada /// se des-publica automaticamente. itemsHoja.CabeceraHojasDeRuta.Publicar = false; idcabecera = itemsHoja.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta; if (itemsHoja.CabeceraHojasDeRuta != null) { Entidades.CabeceraHojasDeRuta cab = itemsHoja.CabeceraHojasDeRuta; if (!itemsHoja.CabeceraHojasDeRuta.ContratoEmpresas.EsContratista.Value) { cab = (from c in _dc.CabeceraHojasDeRuta where c.ContratoEmpresas.Contrato.IdContrato == itemsHoja.CabeceraHojasDeRuta.ContratoEmpresas.Contrato.IdContrato && c.ContratoEmpresas.EsContratista.Value && c.Periodo == itemsHoja.CabeceraHojasDeRuta.Periodo select c).First <Entidades.CabeceraHojasDeRuta>(); } string estado = UpdateSeguimientoAuditoria(cab.IdCabeceraHojasDeRuta, cab.Periodo, cab.ContratoEmpresas.IdContratoEmpresas); cab.EstadoAlCierre = estado != "" ? estado : cab.EstadoAlCierre; } _dc.SaveChanges(); return((from H in _dc.HojasDeRuta where H.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta == idcabecera orderby H.Plantilla.Codigo select new { IdHoja = H.IdHojaDeRuta, Titulo = H.Plantilla.Descripcion, FechaEntrega = H.DocFechaEntrega, FechaEntregaOriginal = H.DocFechaEntrega, Comentario = H.DocComentario, Presento = false }).ToList()); }
public static object UpdateData(List <IDictionary <string, object> > datos, bool fueraTermino) { long idcabecera = 0; Entidades.CabeceraHojasDeRuta cabecera = null; EntidadesConosud _dc = new EntidadesConosud(); foreach (IDictionary <string, object> item in datos) { if (bool.Parse(item["Presento"].ToString())) { long id = long.Parse(item["IdHoja"].ToString()); Entidades.HojasDeRuta itemsHoja = (from H in _dc.HojasDeRuta where H.IdHojaDeRuta == id select H).First <Entidades.HojasDeRuta>(); itemsHoja.DocFechaEntrega = DateTime.Now; itemsHoja.DocComentario = "Sin Comentarios"; /// al presnetar documentación para una hoja de ruta que esta publicada /// se des-publica automaticamente. itemsHoja.CabeceraHojasDeRuta.Publicar = false; itemsHoja.CabeceraHojasDeRuta.EsFueraTermino = fueraTermino; idcabecera = itemsHoja.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta; cabecera = itemsHoja.CabeceraHojasDeRuta; } } if (cabecera != null) { Entidades.CabeceraHojasDeRuta cab = cabecera; if (!cabecera.ContratoEmpresas.EsContratista.Value) { cab = (from c in _dc.CabeceraHojasDeRuta where c.ContratoEmpresas.Contrato.IdContrato == cabecera.ContratoEmpresas.Contrato.IdContrato && c.ContratoEmpresas.EsContratista.Value && (c.Periodo.Month == cabecera.Periodo.Month && c.Periodo.Year == cabecera.Periodo.Year) select c).First <Entidades.CabeceraHojasDeRuta>(); } string estado = UpdateSeguimientoAuditoria(cab.IdCabeceraHojasDeRuta, cab.Periodo, cab.ContratoEmpresas.IdContratoEmpresas); cab.EstadoAlCierre = estado != "" ? estado : cab.EstadoAlCierre; } _dc.SaveChanges(); return((from H in _dc.HojasDeRuta where H.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta == idcabecera orderby H.Plantilla.Codigo select new { IdHoja = H.IdHojaDeRuta, Titulo = H.Plantilla.Descripcion, FechaEntrega = H.DocFechaEntrega, FechaEntregaOriginal = H.DocFechaEntrega, Comentario = H.DocComentario, Presento = false }).ToList()); }
protected void btnGenerar_Click(object sender, EventArgs e) { EntidadesConosud dc = new EntidadesConosud(); int Mes_AGenerar = int.Parse(txtMesAño.Text.Split('/')[0]); int Año_AGenerar = int.Parse(txtMesAño.Text.Split('/')[1]); int Mes_Refrencia = Mes_AGenerar - 1; int Año_Refrencia = Año_AGenerar; Entidades.CabeceraHojasDeRuta cabeceraAnterior = (from C in dc.CabeceraHojasDeRuta where (C.ContratoEmpresas.IdContratoEmpresas == 2073) && C.Periodo.Month == Mes_Refrencia && C.Periodo.Year == Año_Refrencia select C).FirstOrDefault(); if (cabeceraAnterior != null) { if (!cabeceraAnterior.ContratoEmpresasReference.IsLoaded) { cabeceraAnterior.ContratoEmpresasReference.Load(); } if (!cabeceraAnterior.EstadoReference.IsLoaded) { cabeceraAnterior.EstadoReference.Load(); } // 1. Creo la cabecera para el periodo solicitado Entidades.CabeceraHojasDeRuta newCab = new Entidades.CabeceraHojasDeRuta(); newCab.Periodo = DateTime.Parse("01/" + Mes_AGenerar.ToString() + "/" + Año_AGenerar.ToString()); newCab.ContratoEmpresas = cabeceraAnterior.ContratoEmpresas; newCab.Estado = cabeceraAnterior.Estado; newCab.NroCarpeta = cabeceraAnterior.NroCarpeta; newCab.Publicar = false; newCab.EsFueraTermino = false; newCab.Estimacion = string.Empty; dc.AddToCabeceraHojasDeRuta(newCab); //2. Creo los items de la hoja de ruta if (!cabeceraAnterior.HojasDeRuta.IsLoaded) { cabeceraAnterior.HojasDeRuta.Load(); } foreach (var item in cabeceraAnterior.HojasDeRuta) { if (!item.PlantillaReference.IsLoaded) { item.PlantillaReference.Load(); } Entidades.HojasDeRuta newHoja = new Entidades.HojasDeRuta(); newHoja.CabeceraHojasDeRuta = newCab; newHoja.Plantilla = item.Plantilla; newHoja.HojaComentario = string.Empty; newHoja.DocComentario = string.Empty; newHoja.HojaAprobado = false; } //3. Creo los legajos asociados if (!cabeceraAnterior.ContEmpLegajos.IsLoaded) { cabeceraAnterior.ContEmpLegajos.Load(); } foreach (var item in cabeceraAnterior.ContEmpLegajos) { if (!item.LegajosReference.IsLoaded) { item.LegajosReference.Load(); } Entidades.ContEmpLegajos newLeg = new Entidades.ContEmpLegajos(); newLeg.CabeceraHojasDeRuta = newCab; newLeg.ContratoEmpresas = cabeceraAnterior.ContratoEmpresas; newLeg.Legajos = item.Legajos; } dc.SaveChanges(); } }
protected void btnMesNoviembre_Click(object sender, EventArgs e) { EntidadesConosud dc = new EntidadesConosud(); //select * from cabecerahojasderuta where idcontratoempresa in (2128, //2129 ,2130 ,2132 ,2133 ,2139 ,2151 ,2152 ,2153 ,2156 ) and //month(Periodo) = 12 and year(Periodo) = 2010 try { List <Entidades.CabeceraHojasDeRuta> cabeceras = (from C in dc.CabeceraHojasDeRuta where (C.ContratoEmpresas.IdContratoEmpresas == 2128 || C.ContratoEmpresas.IdContratoEmpresas == 2129 || C.ContratoEmpresas.IdContratoEmpresas == 2130 || C.ContratoEmpresas.IdContratoEmpresas == 2132 || C.ContratoEmpresas.IdContratoEmpresas == 2139 || C.ContratoEmpresas.IdContratoEmpresas == 2151 || C.ContratoEmpresas.IdContratoEmpresas == 2152 || C.ContratoEmpresas.IdContratoEmpresas == 2153 || C.ContratoEmpresas.IdContratoEmpresas == 2156) && C.Periodo.Month == 12 && C.Periodo.Year == 2010 select C).ToList <Entidades.CabeceraHojasDeRuta>(); foreach (Entidades.CabeceraHojasDeRuta itemCab in cabeceras) { if (!itemCab.ContratoEmpresasReference.IsLoaded) { itemCab.ContratoEmpresasReference.Load(); } if (!itemCab.EstadoReference.IsLoaded) { itemCab.EstadoReference.Load(); } // 1. Creo la cabecera para el periodo 11 Entidades.CabeceraHojasDeRuta newCab = new Entidades.CabeceraHojasDeRuta(); newCab.Periodo = DateTime.Parse("01/11/2010"); newCab.ContratoEmpresas = itemCab.ContratoEmpresas; newCab.Estado = itemCab.Estado; newCab.NroCarpeta = itemCab.NroCarpeta; dc.AddToCabeceraHojasDeRuta(newCab); //2. Creo los items de la hoja de ruta if (!itemCab.HojasDeRuta.IsLoaded) { itemCab.HojasDeRuta.Load(); } foreach (var item in itemCab.HojasDeRuta) { if (!item.PlantillaReference.IsLoaded) { item.PlantillaReference.Load(); } Entidades.HojasDeRuta newHoja = new Entidades.HojasDeRuta(); newHoja.CabeceraHojasDeRuta = newCab; newHoja.Plantilla = item.Plantilla; } //3. Creo los legajos asociados if (!itemCab.ContEmpLegajos.IsLoaded) { itemCab.ContEmpLegajos.Load(); } foreach (var item in itemCab.ContEmpLegajos) { if (!item.LegajosReference.IsLoaded) { item.LegajosReference.Load(); } Entidades.ContEmpLegajos newLeg = new Entidades.ContEmpLegajos(); newLeg.CabeceraHojasDeRuta = newCab; newLeg.ContratoEmpresas = itemCab.ContratoEmpresas; newLeg.Legajos = item.Legajos; } dc.SaveChanges(); } } catch (Exception er) { throw er; } }
private void UpdateItemHojaRuta(GridEditableItem editedItem, long IdItemHoja, long IdPlantilla) { #region Recupero los Datos Ingresado por el usuario GridEditManager editMan = editedItem.EditManager; string AuditadoPor = (Session["usuario"] as Entidades.SegUsuario).Login; DateTime HojaFechaControlado = DateTime.Now; string ComentarioGralIngresado = ((TextBox)editedItem.FindControl("txtComentarioGralEdit")).Text; string ComentarioItemHoja = ((TextBox)editedItem.FindControl("txtComentarioItemHoja")).Text; DateTime?FechaAprobacionItemHoja = null; if ((editMan.GetColumnEditor("HojaFechaAprobacioncolumn") as GridDateTimeColumnEditor).Text != "") { FechaAprobacionItemHoja = DateTime.Parse((editMan.GetColumnEditor("HojaFechaAprobacioncolumn") as GridDateTimeColumnEditor).Text); } #endregion Entidades.HojasDeRuta CurrentItem = (from i in Contexto.HojasDeRuta where i.IdHojaDeRuta == IdItemHoja select i).FirstOrDefault(); TempComentarioGrales CurrentComentario = (from C in ComentariosGrales where C.IdPlantilla == IdPlantilla select C).FirstOrDefault <TempComentarioGrales>(); if (!CurrentItem.PlantillaReference.IsLoaded) { CurrentItem.PlantillaReference.Load(); } if (CurrentComentario == null) { ComentariosGral coment = new ComentariosGral(); coment.Comentario = ComentarioGralIngresado; coment.ContratoEmpresas = CurrentTempCabecera.ContratoEmpresas; coment.Plantilla = CurrentItem.Plantilla; Contexto.AddObject("ComentariosGral", coment); } else { Entidades.ComentariosGral CurrentComentarioGral = (from c in Contexto.ComentariosGral where c.Plantilla.IdPlantilla == IdPlantilla && c.ContratoEmpresas.IdContratoEmpresas == CurrentTempCabecera.ContratoEmpresas.IdContratoEmpresas select c).FirstOrDefault(); CurrentComentarioGral.Comentario = ComentarioGralIngresado; } CurrentItem.AuditadoPor = AuditadoPor; CurrentItem.HojaFechaControlado = HojaFechaControlado; CurrentItem.HojaComentario = ComentarioItemHoja; CurrentItem.HojaFechaAprobacion = FechaAprobacionItemHoja; if (FechaAprobacionItemHoja != null) { CurrentItem.HojaAprobado = true; } else { CurrentItem.HojaAprobado = false; } Contexto.SaveChanges(); CargarDatosSession(); gvItemHoja.Rebind(); }
private void UpdateItemHojaRuta(long IdItemHoja, long IdPlantilla) { #region Recupero los Datos Ingresado por el usuario string AuditadoPor = (Session["usuario"] as Entidades.SegUsuario).Login; DateTime HojaFechaControlado = DateTime.Now; string ComentarioGralIngresado = txtComentarioGral.Text; string ComentarioItemHoja = txtComentarioItem.Text; DateTime?FechaAprobacionItemHoja = txtFechaAprobacion.SelectedDate; #endregion Entidades.HojasDeRuta CurrentItem = (from i in Contexto.HojasDeRuta where i.IdHojaDeRuta == IdItemHoja select i).FirstOrDefault(); TempComentarioGrales CurrentComentario = (from C in ComentariosGrales where C.IdPlantilla == IdPlantilla select C).FirstOrDefault <TempComentarioGrales>(); if (!CurrentItem.PlantillaReference.IsLoaded) { CurrentItem.PlantillaReference.Load(); } if (CurrentComentario == null) { ComentariosGral coment = new ComentariosGral(); coment.Comentario = ComentarioGralIngresado; coment.ContratoEmpresas = CurrentTempCabecera.ContratoEmpresas; coment.Plantilla = CurrentItem.Plantilla; Contexto.AddObject("ComentariosGral", coment); } else { Entidades.ComentariosGral CurrentComentarioGral = (from c in Contexto.ComentariosGral where c.Plantilla.IdPlantilla == IdPlantilla && c.ContratoEmpresas.IdContratoEmpresas == CurrentTempCabecera.ContratoEmpresas.IdContratoEmpresas select c).FirstOrDefault(); CurrentComentarioGral.Comentario = ComentarioGralIngresado; } CurrentItem.AuditadoPor = AuditadoPor; CurrentItem.HojaFechaControlado = HojaFechaControlado; CurrentItem.HojaComentario = ComentarioItemHoja; CurrentItem.HojaFechaAprobacion = FechaAprobacionItemHoja; if (FechaAprobacionItemHoja != null) { CurrentItem.HojaAprobado = true; CurrentItem.AuditoriaTerminada = true; } else { CurrentItem.HojaAprobado = false; CurrentItem.AuditoriaTerminada = false; } Contexto.SaveChanges(); CargarDatosSession(); gvItemHoja.Rebind(); upGrilla.Update(); }
public void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) { EntidadesConosud dc = Contexto; if (e.Argument == "Update") { long id = long.Parse(RadGrid1.SelectedValue.ToString()); Entidades.Empresa EmpUpdate = (from L in dc.Empresa where L.IdEmpresa == id select L).FirstOrDefault <Entidades.Empresa>(); int cant = (from l in dc.Empresa where l.CUIT.Trim() == txtCUIT.Text.Trim() && l.IdEmpresa != id select l).Count(); txtCUIT.Attributes.Remove("NroExistente"); if (cant > 0) { txtCUIT.Attributes.Add("NroExistente", true.ToString()); upNroCUIT.Update(); return; } else { txtCUIT.Attributes.Add("NroExistente", false.ToString()); upNroCUIT.Update(); } if (EmpUpdate != null) { /// Controles Tipo TextBox EmpUpdate.RazonSocial = txtRazonSocial.Text.Trim(); EmpUpdate.RepresentanteTecnico = txtTecnico.Text.Trim(); EmpUpdate.PrestacionEmergencia = txtPrestacionEmergencias.Text.Trim(); EmpUpdate.Direccion = txtDireccion.Text.Trim(); EmpUpdate.Telefono = txtTelefono.Text.Trim(); EmpUpdate.Emergencia = txtEmergencias.Text.Trim(); EmpUpdate.CorreoElectronico = txtEmail.Text.Trim(); /// Controles Tipo Telerik EmpUpdate.CUIT = txtCUIT.Text; /// Controles Tipo Fecha EmpUpdate.FechaAlta = txtFechaAlta.SelectedDate; dc.SaveChanges(); } FiltrarEmpresas(txtApellidoLegajo.Text.Trim()); return; } if (e.Argument == "delete") { long id = long.Parse(RadGrid1.SelectedValue.ToString()); Entidades.Empresa EmpDelete = (from L in Contexto.Empresa where L.IdEmpresa == id select L).FirstOrDefault <Entidades.Empresa>(); /// Saco a todos los lejos asociados a la empresa. List <Legajos> legajosAsociados = EmpDelete.Legajos.ToList(); foreach (Legajos leg in legajosAsociados) { leg.objEmpresaLegajo = null; } /// Saco a todos vehiculos asociados List <VahiculosyEquipos> VehiculosAsociados = EmpDelete.VahiculosyEquipos.ToList(); foreach (VahiculosyEquipos vec in VehiculosAsociados) { vec.objEmpresa = null; } /// Saco el usario a asociado a la empresa List <SegUsuario> SegUsuairoEmp = (from L in Contexto.SegUsuario where L.IdEmpresa == id select L).ToList <SegUsuario>(); foreach (SegUsuario item in SegUsuairoEmp) { item.Empresa = null; } int j = EmpDelete.ContratoEmpresas.Count(); while (j > 0) { Entidades.ContratoEmpresas _ContratoEmpresas = EmpDelete.ContratoEmpresas.Take(1).First(); //if (!_ContratoEmpresas.ComentariosGral.IsLoaded) { _ContratoEmpresas.ComentariosGral.Load(); } List <ComentariosGral> comentsGrales = _ContratoEmpresas.ComentariosGral.ToList(); foreach (ComentariosGral itemComent in comentsGrales) { Contexto.DeleteObject(itemComent); } int j2 = _ContratoEmpresas.CabeceraHojasDeRuta.Count(); while (j2 > 0) { Entidades.CabeceraHojasDeRuta _CabeceraHojasDeRuta = _ContratoEmpresas.CabeceraHojasDeRuta.Take(1).First(); int j3 = _CabeceraHojasDeRuta.HojasDeRuta.Count(); while (j3 > 0) { Entidades.HojasDeRuta _HojasDeRuta = _CabeceraHojasDeRuta.HojasDeRuta.Take(1).First(); Contexto.DeleteObject(_HojasDeRuta); j3--; } int j4 = _CabeceraHojasDeRuta.ContEmpLegajos.Count(); while (j4 > 0) { ContEmpLegajos _Leghoja = _CabeceraHojasDeRuta.ContEmpLegajos.Take(1).First(); Contexto.DeleteObject(_Leghoja); j4--; } Contexto.DeleteObject(_CabeceraHojasDeRuta); j2--; } Contexto.DeleteObject(_ContratoEmpresas); j--; } Contexto.DeleteObject(EmpDelete); try { Contexto.SaveChanges(); FiltrarEmpresas(txtApellidoLegajo.Text.Trim()); } catch { ScriptManager.RegisterStartupScript(this, this.GetType(), "eliminacionEmpresa", "radalert('La emprsa no puede ser eliminada ya que posee mucha información asociada, por favor tome contacto con el administrador del sistema.',300,150)", true); FiltrarEmpresas(txtApellidoLegajo.Text.Trim()); } } if (e.Argument == "Insert") { Entidades.Empresa EmpInsert = new Entidades.Empresa(); int cant = (from l in dc.Empresa where l.CUIT == txtCUIT.Text.Trim() select l).Count(); if (cant > 0) { txtCUIT.Attributes.Add("NroExistente", true.ToString()); upNroCUIT.Update(); return; } else { txtCUIT.Attributes.Add("NroExistente", false.ToString()); upNroCUIT.Update(); } /// Controles Tipo TextBox EmpInsert.RazonSocial = txtRazonSocial.Text.Trim(); EmpInsert.RepresentanteTecnico = txtTecnico.Text.Trim(); EmpInsert.PrestacionEmergencia = txtPrestacionEmergencias.Text.Trim(); EmpInsert.Direccion = txtDireccion.Text.Trim(); EmpInsert.Telefono = txtTelefono.Text.Trim(); EmpInsert.Emergencia = txtEmergencias.Text.Trim(); EmpInsert.CorreoElectronico = txtEmail.Text.Trim(); /// Controles Tipo Telerik EmpInsert.CUIT = txtCUIT.Text; /// Controles Tipo Fecha EmpInsert.FechaAlta = txtFechaAlta.SelectedDate; dc.AddToEmpresa(EmpInsert); dc.SaveChanges(); } FiltrarEmpresas(txtApellidoLegajo.Text.Trim()); }
public static void GenerarHojadeRuta(ObjectContext pContext, DateTime FInicio, DateTime FFin, Entidades.ContratoEmpresas pContratoEmpresas) { string queryString = @"SELECT VALUE CabeceraHojasDeRuta FROM EntidadesConosud.CabeceraHojasDeRuta AS CabeceraHojasDeRuta"; ObjectQuery <Entidades.CabeceraHojasDeRuta> CabeceraHojasDeRutaQuery1 = new ObjectQuery <Entidades.CabeceraHojasDeRuta>(queryString, pContext); DateTime FechaInicio = FInicio; DateTime FechaFinal = FFin; int ultimonrocarpeta = 1; try { ultimonrocarpeta = CabeceraHojasDeRutaQuery1.Max(c => c.NroCarpeta); ultimonrocarpeta += 1; } catch { } long id = Convert.ToInt64(Helpers.EstadosHoja.NoAprobada); IEnumerable <KeyValuePair <string, object> > entityKeyValues = new KeyValuePair <string, object>[] { new KeyValuePair <string, object>("IdClasificacion", id) }; EntityKey key = new EntityKey("EntidadesConosud.Clasificacion", entityKeyValues); Entidades.Clasificacion _est = (Entidades.Clasificacion)pContext.GetObjectByKey(key); /// Guardo la ultima cabecera antes de generar las nuevas para /// luego obtener los legados de la mism. Entidades.CabeceraHojasDeRuta UltimaCabecera = null; if (pContratoEmpresas.IdContratoEmpresas > 0) { if (!pContratoEmpresas.CabeceraHojasDeRuta.IsLoaded) { pContratoEmpresas.CabeceraHojasDeRuta.Load(); } UltimaCabecera = pContratoEmpresas.CabeceraHojasDeRuta.OrderBy(w => w.Periodo).Last(); } while (GeneraxFecha(ref FechaInicio, ref FechaFinal)) { if (UltimaCabecera == null || !(UltimaCabecera.Periodo.Month == FechaFinal.Month && UltimaCabecera.Periodo.Year == FechaFinal.Year)) { /// control por las dudas que el primer periodo que se intenta crear ya existe. if (UltimaCabecera == null || string.Format("{0:MMyyyy}", FechaInicio) != string.Format("{0:MMyyyy}", UltimaCabecera.Periodo)) { /// controlo que el periodo que se esta intentando crear no exista ya. if (!pContratoEmpresas.CabeceraHojasDeRuta.Any(w => string.Format("{0:MMyyyy}", w.Periodo) == string.Format("{0:MMyyyy}", FechaInicio))) { /// Genero la cabecera de hoja de ruta Entidades.CabeceraHojasDeRuta _CabHojaRuta = new Entidades.CabeceraHojasDeRuta(); _CabHojaRuta.ContratoEmpresas = pContratoEmpresas; _CabHojaRuta.Estado = _est; _CabHojaRuta.Periodo = FechaInicio; _CabHojaRuta.NroCarpeta = ultimonrocarpeta; _CabHojaRuta.Estimacion = string.Empty; _CabHojaRuta.EsFueraTermino = false; pContext.AddObject("EntidadesConosud.CabeceraHojasDeRuta", _CabHojaRuta); queryString = @"SELECT VALUE Plantilla FROM EntidadesConosud.Plantilla AS Plantilla"; ObjectQuery <Entidades.Plantilla> PlantillaQuery1 = new ObjectQuery <Entidades.Plantilla>(queryString, pContext); /// Genero los items de las hojas de ruta foreach (Entidades.Plantilla plan in PlantillaQuery1.Select(p => p)) { Entidades.HojasDeRuta _HojasDeRuta = new Entidades.HojasDeRuta(); _HojasDeRuta.Plantilla = plan; _HojasDeRuta.HojaAprobado = false; _HojasDeRuta.HojaComentario = string.Empty; _HojasDeRuta.AuditadoPor = string.Empty; _HojasDeRuta.DocComentario = string.Empty; _CabHojaRuta.HojasDeRuta.Add(_HojasDeRuta); pContext.AddObject("EntidadesConosud.HojasDeRuta", _HojasDeRuta); } /// Asocio los legajos a la nueva cabecera if (UltimaCabecera != null) { if (!UltimaCabecera.ContEmpLegajos.IsLoaded) { UltimaCabecera.ContEmpLegajos.Load(); } foreach (Entidades.ContEmpLegajos itemContLeg in UltimaCabecera.ContEmpLegajos) { if (!itemContLeg.LegajosReference.IsLoaded) { itemContLeg.LegajosReference.Load(); } Entidades.ContEmpLegajos newContLeg = new Entidades.ContEmpLegajos(); newContLeg.ContratoEmpresas = pContratoEmpresas; newContLeg.Legajos = itemContLeg.Legajos; _CabHojaRuta.ContEmpLegajos.Add(newContLeg); pContext.AddObject("EntidadesConosud.ContEmpLegajos", newContLeg); } } } } } FechaInicio = FechaInicio.AddMonths(1); ultimonrocarpeta += 1; } }
protected void LinkButtonEliminar_OnClick(object sender, EventArgs e) { try { int i = RadGrid1.SelectedItems[0].DataSetIndex - (this.RadGrid1.CurrentPageIndex * this.RadGrid1.PageSize); string IdContrato = RadGrid1.Items[i].GetDataKeyValue("IdContrato").ToString(); long id = Convert.ToInt64(IdContrato); //if ((from h in Contexto.HojasDeRuta // where h.CabeceraHojasDeRuta.ContratoEmpresas.Contrato.IdContrato == id // && h.HojaFechaAprobacion != null // select h).Count() > 0) //{ // string scriptstring = "radalert('<h4>No se puede eliminar el contrato porque tiene cargada infomacion en su hoja de ruta!</h4>', 330, 100, 'Contratos');"; // ScriptManager.RegisterStartupScript(this, this.GetType(), "radalert", scriptstring, true); // return; //} Entidades.Contrato _contrato = (from c in Contexto.Contrato .Include("ContratoEmpresas.CabeceraHojasDeRuta.HojasDeRuta") where c.IdContrato == id select c).First(); int j = _contrato.ContratoEmpresas.Count(); while (j > 0) { Entidades.ContratoEmpresas _ContratoEmpresas = _contrato.ContratoEmpresas.Take(1).First(); if (!_ContratoEmpresas.ComentariosGral.IsLoaded) { _ContratoEmpresas.ComentariosGral.Load(); } List <ComentariosGral> coment = _ContratoEmpresas.ComentariosGral.ToList(); foreach (ComentariosGral itemComent in coment) { Contexto.DeleteObject(itemComent); } if (!_ContratoEmpresas.Contrato.DatosDeSueldos.IsLoaded) { _ContratoEmpresas.Contrato.DatosDeSueldos.Load(); } List <DatosDeSueldos> infoSueldos = _ContratoEmpresas.Contrato.DatosDeSueldos.ToList(); foreach (DatosDeSueldos itemsueldo in infoSueldos) { Contexto.DeleteObject(itemsueldo); } int j2 = _ContratoEmpresas.CabeceraHojasDeRuta.Count(); while (j2 > 0) { Entidades.CabeceraHojasDeRuta _CabeceraHojasDeRuta = _ContratoEmpresas.CabeceraHojasDeRuta.Take(1).First(); int j3 = _CabeceraHojasDeRuta.HojasDeRuta.Count(); while (j3 > 0) { Entidades.HojasDeRuta _HojasDeRuta = _CabeceraHojasDeRuta.HojasDeRuta.Take(1).First(); Contexto.DeleteObject(_HojasDeRuta); j3--; } Contexto.DeleteObject(_CabeceraHojasDeRuta); j2--; } Contexto.DeleteObject(_ContratoEmpresas); j--; } Contexto.DeleteObject(_contrato); Contexto.SaveChanges(); this.CargarSessionContratos(); this.RadGrid1.Rebind(); } catch (Exception err) { string scriptstring = "radalert('<h4>" + err.InnerException.Message.Substring(0, 150) + "</h4>', 630, 100, 'Contratos');"; ScriptManager.RegisterStartupScript(this, this.GetType(), "radalert", scriptstring, true); } }