private void btn_Acept_Click(object sender, EventArgs e) { var _desgloses = new DB_BIM().GetAllElements <Desglose>(); foreach (var item in _localesByProject) { var _desglose = _desgloses.FirstOrDefault(x => x.Id == item.Local1.Desglose); var _desgloseProyecto = _proyecto.Desglose; Desglose _a = null; if (_desglose != null && _proyecto.Desglose.FirstOrDefault(x => x.Value == _desglose.Value) == null) { var _nuevoDesglose = new Desglose() { Proyecto = _proyecto.Id, Value = _desglose.Value }; _a = new DB_BIM().AddElemento <Desglose>(typeof(Desglose), _nuevoDesglose); } else { _a = _proyecto.Desglose.FirstOrDefault(x => x.Value == _desglose.Value); } var _itemLocal = new DB_BIM().GetSingleElement <Local>(x => x.Id == item.Local); var _local = new Local() { Key_Name = _itemLocal.Key_Name, Ambiente = _itemLocal.Ambiente, Climatizacion = _itemLocal.Climatizacion, Coef_Area = _itemLocal.Coef_Area, Comunicaciones_TV = _itemLocal.Comunicaciones_TV, Desglose = _a.Id, Habitacion = _itemLocal.Habitacion, Local_Tipo = _itemLocal.Local_Tipo, Mod = _itemLocal.Mod, Porciento_BD = _itemLocal.Porciento_BD, RoomId = _itemLocal.RoomId, SubsistemaArea = _itemLocal.SubsistemaArea, SubsistemaTipo = _itemLocal.SubsistemaTipo }; new DB_BIM().AddElemento <Local>(typeof(Local), _local); Locales_Proyecto _localProyecto = new Locales_Proyecto() { Local = _local.Id, Proyecto = _proyecto.Id, Cantidad = item.Cantidad }; new DB_BIM().AddElemento <Locales_Proyecto>(typeof(Locales_Proyecto), _localProyecto); } MessageBox.Show("Todos los locales fueron importados!"); this.Close(); }
private void btn_del_Click(object sender, EventArgs e) { using (var db = new DB_BIM()) { Desglose _desglose = new Desglose() { Proyecto = _proyecto.Id, Value = listBox2.SelectedItem.ToString() }; db.DeleteElement <Desglose>(x => x.Value == _desglose.Value && x.Proyecto == _desglose.Proyecto, typeof(Desglose)); UpdateListBox(); } }
private void btn_add_Click(object sender, EventArgs e) { using (var db = new DB_BIM()) { Desglose _desglose = new Desglose() { Proyecto = _proyecto.Id, Value = listBox1.SelectedItem.ToString() }; var _proyectoDesglose = db.GetSingleElement <Desglose>(x => x.Value == _desglose.Value && x.Proyecto == _desglose.Proyecto); if (_proyectoDesglose == null) { db.AddElemento <Desglose>(typeof(Desglose), _desglose); UpdateListBox(); } } }
private void btn_new_Click(object sender, EventArgs e) { if (txt_desglose.Text != "") { Desglose _desglose = new Desglose() { Proyecto = _proyecto.Id, Value = txt_desglose.Text }; var _record = new DB_BIM().GetSingleElement <Desglose>(x => x.Value == _desglose.Value && x.Proyecto == _desglose.Proyecto); if (_record == null) { new DB_BIM().AddElemento <Desglose>(typeof(Desglose), _desglose); UpdateListBox(); } } else { MessageBox.Show("El nuevo desglose debe tener un nombre"); } }
private static void AddSingleRoom(ref GridView selectedGrid, int i, T_Local KeyRoom) { if (i != -2147483647) { try { using (var db = new DB_BIM()) { selectedGrid.FocusedRowHandle = i; Local local = new Local(); Locales_Proyecto localProyecto = new Locales_Proyecto(); var subsistemaTipo = ""; var subsistemaArea = ""; ExcelImportForm.GetSubsistemas(selectedGrid.GetRowCellValue(i, "Cod2").ToString(), ref subsistemaTipo, ref subsistemaArea, selectedGrid.GetRowCellValue(i, "Cod1").ToString()); local.SubsistemaTipo = new DB_PLANTILLA().GetSingleRecord <T_Subsistema_Tipo>(x => x.Value == subsistemaTipo).Id; local.SubsistemaArea = new DB_PLANTILLA().GetSingleRecord <T_Subsistema_Area>(x => x.Value == subsistemaArea).Id; var localTipoValue = selectedGrid.GetRowCellValue(i, "LocalTipo").ToString(); var cod1 = selectedGrid.GetRowCellValue(i, "Cod1").ToString().Replace(',', '.'); var grupoLocal = _grupoLocales.FirstOrDefault(x => x.Cod1.Contains(cod1)).Id; var localTipo = db.GetSingleElement <LocalTipo>(x => x.Value == localTipoValue) ?? new LocalTipo() { Grupo_Locales = grupoLocal, Value = localTipoValue }; var porcientoBD = double.Parse(selectedGrid.GetRowCellValue(i, "PorcientoBD").ToString()); local.Porciento_BD = new DB_PLANTILLA().GetSingleElement <T_Porciento_BD>(x => x.Value == porcientoBD).Id; var areaUtil = selectedGrid.GetRowCellValue(i, "AreaLocal").ToString() == "" ? 0.00 : double.Parse(selectedGrid.GetRowCellValue(i, "AreaLocal").ToString()); CoefArea coef = new CoefArea() { Area_Local = areaUtil }; var desgloseValue = selectedGrid.GetRowCellValue(i, "Desglose").ToString(); var desglose = db.GetSingleElement <Desglose>(x => x.Value == desgloseValue && x.Proyecto == _proyecto.Id); if (desglose != null) { local.Desglose = desglose.Id; } else { Desglose _newDesglose = new Desglose() { Value = desgloseValue, Proyecto = _proyecto.Id }; desglose = _newDesglose; local.Desglose1 = _newDesglose; } //var roomKeyValue = selectedGrid.GetRowCellValue(i, "RoomID").ToString(); //var localID = new DB_PLANTILLA().GetSingleElement<T_Local>(x => x.Key_Name == roomKeyValue); var localID = KeyRoom; local.RoomId = localID.RoomId; local.CoefArea = coef; local.CoefArea.Value = new DB_PLANTILLA().GetSingleElement <T_CoefArea>(x => x.Id == localID.Coef_Area).Value; local.LocalTipo = localTipo; local.Key_Name = selectedGrid.GetRowCellValue(i, "Local").ToString(); local.Ambiente1 = localID.T_Ambiente.ToProject(); local.Comunicaciones_Tv1 = localID.T_Comunicaciones_Tv.ToProject(); local.Climatizacion1 = localID.T_Climatizacion.ToProject(); localProyecto.Local1 = local; localProyecto.Proyecto = _proyecto.Id; localProyecto.Cantidad = selectedGrid.GetRowCellValue(i, "Hab") == null || selectedGrid.GetRowCellValue(i, "Hab").ToString() == "" ? 0 : int.Parse(selectedGrid.GetRowCellValue(i, "Hab").ToString()); var localesProyecto = db.GetSingleElement <Locales_Proyecto>(x => x.Proyecto1.Cod == _proyecto.Cod && x.Local1.Desglose == desglose.Id && x.Local1.Local_Tipo == localTipo.Id && x.Local1.Key_Name == local.Key_Name); if (localesProyecto == null) { //new DB_BIM().AddElemento<Locales_Proyecto>(typeof(Locales_Proyecto), localProyecto); //LocalController.AddLocalcesProyecto(localProyecto); //LocalController.AddLocalesProyecto(localProyecto); db.Locales_Proyecto.Add(localProyecto); db.SaveChanges(); } else { localProyecto.Id = localesProyecto.Id; LocalController.UpdateLocalesProyecto(localProyecto); } } } catch (Exception ex) { MessageBox.Show(ex.Message); //Excepciones.Excepciones.EnviarCorreo(ex); //throw; } } }
private void simpleButton1_Click(object sender, EventArgs e) { var _selectedGrid = gridControlPrograma.Visible ? gridPrograma : gridDetalle; var _subsistemasTipo = new DB_PLANTILLA().GetAllRecords <T_Subsistema_Tipo>(); var _subsistemasArea = new DB_PLANTILLA().GetAllRecords <T_Subsistema_Area>(); var _grupoLocales = new DB_PLANTILLA().GetAllRecords <T_Grupo_Locales>(); var _porcientos = new DB_PLANTILLA().GetAllRecords <T_Porciento_BD>(); var _coefAreas = new DB_PLANTILLA().GetAllRecords <T_CoefArea>(); var _locales = new DB_PLANTILLA().GetAllRecords <T_Local>(); for (int i = 0; i < _selectedGrid.DataRowCount; i++) { try { _selectedGrid.FocusedRowHandle = i; Local _local = new Local(); Locales_Proyecto _localProyecto = new Locales_Proyecto(); var _subsistemaTipo = ""; var _subsistemaArea = ""; GetSubsistemas(_selectedGrid.GetRowCellValue(i, "Cod2").ToString(), ref _subsistemaTipo, ref _subsistemaArea, _selectedGrid.GetRowCellValue(i, "Cod1").ToString()); //var _subTipoValue = _selectedGrid.GetRowCellValue(i, "Subsistema Tipo").ToString(); _local.SubsistemaTipo = _subsistemasTipo.FirstOrDefault(x => x.Value == _subsistemaTipo).Id; //var _subAreaValue = _selectedGrid.GetRowCellValue(i, "Subsistema Area").ToString(); _local.SubsistemaArea = _subsistemasArea.FirstOrDefault(x => x.Value == _subsistemaArea).Id; var _localTipoValue = _selectedGrid.GetRowCellValue(i, "LocalTipo").ToString(); var _cod1Value = _selectedGrid.GetRowCellValue(i, "Cod1").ToString().Replace(',', '.'); var _grupoLocal = _grupoLocales.FirstOrDefault(x => x.Cod1.Contains(_cod1Value)).Id; LocalTipo _localTipo = new LocalTipo() { Grupo_Locales = _grupoLocal, Value = _localTipoValue }; var _porcientoBD = double.Parse(_selectedGrid.GetRowCellValue(i, "PorcientoBD").ToString()); //_porcientoBD = _porcientoBD / 100; _local.Porciento_BD = _porcientos.FirstOrDefault(x => x.Value == _porcientoBD).Id; var _areaUtil = _selectedGrid.GetRowCellValue(i, "AreaLocal").ToString() == "" ? 0.00 : double.Parse(_selectedGrid.GetRowCellValue(i, "AreaLocal").ToString()); CoefArea _coef = new CoefArea() { Area_Local = _areaUtil }; var _desgloseValue = _selectedGrid.GetRowCellValue(i, "Desglose").ToString(); var _desglose = new DB_BIM().GetSingleElement <Desglose>(x => x.Value == _desgloseValue && x.Proyecto == _proyecto.Id); if (_desglose != null) { _local.Desglose = _desglose.Id; } else { Desglose _newDesglose = new Desglose() { Value = _desgloseValue, Proyecto = _proyecto.Id }; _local.Desglose1 = _newDesglose; } var _localID = _locales.FirstOrDefault(x => x.Key_Name == _selectedGrid.GetRowCellValue(i, "RoomID").ToString()); var keyName = _selectedGrid.GetRowCellValue(i, "Local").ToString(); var localesProyecto = new DB_BIM().GetElements <Locales_Proyecto>(x => x.Proyecto == _proyecto.Id); var realLocal = localesProyecto.FirstOrDefault( x => x.Local1.Desglose == _local.Desglose && x.Local1.LocalTipo == _localTipo && x.Local1.Key_Name == keyName); if (realLocal != null) { LocalController.UpdateLocalesProyecto(realLocal); } else { _local.RoomId = _localID.RoomId; _local.CoefArea = _coef; _local.CoefArea.Value = _coefAreas.FirstOrDefault(x => x.Id == _localID.Coef_Area).Value; _local.LocalTipo = _localTipo; _local.Key_Name = keyName; _local.Ambiente1 = _localID.T_Ambiente.ToProject(); _local.Comunicaciones_Tv1 = _localID.T_Comunicaciones_Tv.ToProject(); _local.Climatizacion1 = _localID.T_Climatizacion.ToProject(); _localProyecto.Local1 = _local; _localProyecto.Proyecto = _proyecto.Id; _localProyecto.Cantidad = _selectedGrid.GetRowCellValue(i, "Hab") == null ? 0 : int.Parse(_selectedGrid.GetRowCellValue(i, "Hab").ToString()); new DB_BIM().AddElemento <Locales_Proyecto>(typeof(Locales_Proyecto), _localProyecto); } } catch (Exception ex) { Excepciones.Excepciones.EnviarCorreo(ex); //throw; } } MessageBox.Show("Completado!"); }
/// <summary> /// Método para obtener una nueva Relación de Caja /// </summary> /// <param name="token"></param> /// <returns></returns> public RelacionCaja ObtenerRelacionCaja(TokenDto token) { RelacionCaja relacionCaja = new RelacionCaja(); relacionCaja.CodigoTienda = token.CodeStore; List <GrupoRelacionCaja> gruposIncluidosRelacionCaja = new List <GrupoRelacionCaja>(); relacionCaja.GruposRelacionCaja = gruposIncluidosRelacionCaja.ToArray(); var grupos = new Dictionary <String, GrupoRelacionCaja>(); var secciones = new Dictionary <String, SeccionRelacionCaja>(); List <GrupoRelacionCaja> gruposRelacionCaja = new List <GrupoRelacionCaja>(); List <SeccionRelacionCaja> seccionesRelacionCaja = new List <SeccionRelacionCaja>(); decimal iva = this.ObtenerImpuestoTienda(token.CodeStore); var parametros = new Dictionary <string, object>(); parametros.Add("@CodigoTienda", token.CodeStore); parametros.Add("@CodigoCaja", token.CodeBox); foreach (var item in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerRelacionDeCaja]", parametros)) { // Llenado de Desglose String encabezadoGrupo = item.GetValue(0).ToString(); String encabezadoSeccion = item.GetValue(1).ToString(); Desglose desglose = new Desglose(); desglose.Descripcion = item.GetValue(2).ToString(); desglose.TotalConIVA = Convert.ToDecimal(item.GetValue(3)); // Llenado de Sección SeccionRelacionCaja seccionRelacionCajaActual; if (secciones.ContainsKey(encabezadoGrupo + encabezadoSeccion)) { seccionRelacionCajaActual = secciones[encabezadoGrupo + encabezadoSeccion]; List <Desglose> desgloses = seccionRelacionCajaActual.DesgloseRelacionCaja.ToList(); desgloses.Add(desglose); seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray(); } else { seccionRelacionCajaActual = new SeccionRelacionCaja(); seccionRelacionCajaActual.Encabezado = encabezadoSeccion; List <Desglose> desgloses = new List <Desglose>(); desgloses.Add(desglose); seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray(); secciones.Add(encabezadoGrupo + encabezadoSeccion, seccionRelacionCajaActual); // Llenado de Grupo GrupoRelacionCaja grupoRelacionCajaActual; if (grupos.ContainsKey(encabezadoGrupo)) { grupoRelacionCajaActual = grupos[encabezadoGrupo]; List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = grupoRelacionCajaActual.SeccionesRelacionCaja.ToList(); seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual); grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray(); } else { grupoRelacionCajaActual = new GrupoRelacionCaja(); grupoRelacionCajaActual.Encabezado = encabezadoGrupo; List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = new List <SeccionRelacionCaja>(); seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual); grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray(); grupos.Add(encabezadoGrupo, grupoRelacionCajaActual); // Agregar Grupo hacia Relacion Caja List <GrupoRelacionCaja> gruposActuales = relacionCaja.GruposRelacionCaja.ToList(); gruposActuales.Add(grupoRelacionCajaActual); relacionCaja.GruposRelacionCaja = gruposActuales.ToArray(); } } } // Asignar Totales foreach (var grupo in relacionCaja.GruposRelacionCaja) { foreach (var seccion in grupo.SeccionesRelacionCaja) { foreach (var desglose in seccion.DesgloseRelacionCaja) { //if (seccion.Encabezado.Equals("OTROS INGRESOS")) //{ // seccion.TotalConIVA = 0.00M; // seccion.TotalSinIVA = 0.00M; // seccion.IVA = 0.00M; //} //else //{ seccion.TotalConIVA = seccion.TotalConIVA + desglose.TotalConIVA; seccion.TotalSinIVA = (seccion.TotalConIVA / (1 + iva)); seccion.IVA = (seccion.TotalConIVA - seccion.TotalSinIVA); //} } grupo.TotalConIVA = grupo.TotalConIVA + seccion.TotalConIVA; grupo.TotalSinIVA = (grupo.TotalConIVA / (1 + iva)); grupo.IVA = (grupo.TotalConIVA - grupo.TotalSinIVA); } relacionCaja.TotalConIVA = relacionCaja.TotalConIVA + grupo.TotalConIVA; relacionCaja.TotalSinIVA = (relacionCaja.TotalConIVA / (1 + iva)); relacionCaja.IVA = (relacionCaja.TotalConIVA - relacionCaja.TotalSinIVA); } // Asignar los Depositos List <DepositoAsociado> depositosAsociados = new List <DepositoAsociado>(); var parametrosDepositos = new Dictionary <string, object>(); parametrosDepositos.Add("@CodigoTienda", token.CodeStore); parametrosDepositos.Add("@CodigoCaja", token.CodeBox); foreach (var item in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerDepositosRelacionDeCaja]", parametrosDepositos)) { DepositoAsociado depositoAsociado = new DepositoAsociado(); depositoAsociado.TotalConIVA = Convert.ToDecimal(item.GetValue(0));; ConfigGeneralesCajaTiendaFormaPago configGeneralesCajaTiendaFormaPago = new ConfigGeneralesCajaTiendaFormaPago(); configGeneralesCajaTiendaFormaPago.IdentificadorFormaPago = item.GetValue(1).ToString(); configGeneralesCajaTiendaFormaPago.CodigoFormaPago = item.GetValue(2).ToString(); configGeneralesCajaTiendaFormaPago.DescripcionFormaPago = item.GetValue(3).ToString(); depositoAsociado.InformacionAsociadaFormasPago = configGeneralesCajaTiendaFormaPago; depositosAsociados.Add(depositoAsociado); } relacionCaja.DepositosAsociados = depositosAsociados.ToArray(); return(relacionCaja); }
/// <summary> /// Reporte de Relacion de Caja /// </summary> /// <param name="codeStore">Código del empleado</param> /// <param name="fechaInicial">Fecha inicial</param> /// <param name="fechaFinal">Fecha final</param> /// <param name="numeroPagina">Números por página</param> /// <param name="registrosPorPagina">Registros por página</param> /// <returns>Respuesta de la operación</returns> public RelacionCaja[] ReporteRelacionCaja(int codeStore, string fechaInicial, string fechaFinal, int numeroPagina, int registrosPorPagina) { ConfigGeneralesCajaTiendaFormaPago InformacionFormaPago = new ConfigGeneralesCajaTiendaFormaPago(); List <RelacionCaja> relacionesCaja = new List <RelacionCaja>(); List <RelacionCajaRespose> relacionCajas = new List <RelacionCajaRespose>(); // Objeto y lista de DepositosAsociados DepositoAsociado depositoAso = new DepositoAsociado(); List <DepositoAsociado> depositosAso = new List <DepositoAsociado>(); var parameters = new Dictionary <string, object>(); parameters.Add("@FechaInicial", fechaInicial); parameters.Add("@FechaFinal", fechaFinal); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@NumeroPagina", numeroPagina); parameters.Add("@RegistrosPorPagina", registrosPorPagina); foreach (var r in data.GetDataReader("[dbo].[sp_vanti_server_ReporteRelacionesCaja]", parameters)) { // Obtengo datos de relacion de caja RelacionCaja relacionCaja = new RelacionCaja(); relacionCaja.TotalRegistros = Convert.ToInt32(r.GetValue(0)); relacionCaja.IdRelacionCaja = Convert.ToInt32(r.GetValue(1)); relacionCaja.CodigoTienda = Convert.ToInt32(r.GetValue(2)); relacionCaja.TotalConIVA = Convert.ToDecimal(r.GetValue(3)); relacionCaja.TotalSinIVA = Convert.ToDecimal(r.GetValue(4)); relacionCaja.IVA = Convert.ToDecimal(r.GetValue(5)); relacionCaja.Fecha = Convert.ToString(r.GetValue(6)); var parametersRelacion = new Dictionary <string, object>(); parametersRelacion.Add("@CodigoRelacion", Convert.ToInt32(r.GetValue(1))); foreach (var a in data.GetDataReader("dbo.sp_vanti_server_ReporteRelacionCajaDeposito", parametersRelacion)) { //Obtenemos depositos asociados al id de relacion de caja. DepositoAsociado depositoAsociado = new DepositoAsociado(); depositoAsociado.TotalConIVA = Convert.ToDecimal(a.GetValue(0)); //Se debe crear el tipo de dato infomacionAsociadaFormaPago ConfigGeneralesCajaTiendaFormaPago tiendaFormaPago = new ConfigGeneralesCajaTiendaFormaPago(); tiendaFormaPago.CodigoFormaPago = Convert.ToString(a.GetValue(1)); tiendaFormaPago.IdentificadorFormaPago = Convert.ToString(a.GetValue(1)); tiendaFormaPago.DescripcionFormaPago = Convert.ToString(a.GetValue(2)); depositoAsociado.InformacionAsociadaFormasPago = tiendaFormaPago; depositosAso.Add(depositoAsociado); } relacionCaja.DepositosAsociados = depositosAso.ToArray(); List <GrupoRelacionCaja> gruposIncluidosRelacionCaja = new List <GrupoRelacionCaja>(); relacionCaja.GruposRelacionCaja = gruposIncluidosRelacionCaja.ToArray(); var grupos = new Dictionary <String, GrupoRelacionCaja>(); var secciones = new Dictionary <String, SeccionRelacionCaja>(); List <GrupoRelacionCaja> gruposRelacionCaja = new List <GrupoRelacionCaja>(); List <SeccionRelacionCaja> seccionesRelacionCaja = new List <SeccionRelacionCaja>(); var parametros = new Dictionary <string, object>(); parametros.Add("@IdRelacionCaja", relacionCaja.IdRelacionCaja); foreach (var item in data.GetDataReader("[dbo].[sp_vanti_server_ObtenerReporteRelacionDeCaja]", parametros)) { // Informacion Grupo String encabezadoGrupo = item.GetValue(0).ToString(); // Información Sección String encabezadoSeccion = item.GetValue(1).ToString(); // Información Desglose Desglose desglose = new Desglose(); desglose.Descripcion = item.GetValue(2).ToString(); desglose.TotalConIVA = Convert.ToDecimal(item.GetValue(3)); // Llenado de Sección SeccionRelacionCaja seccionRelacionCajaActual; if (secciones.ContainsKey(encabezadoGrupo + encabezadoSeccion)) { seccionRelacionCajaActual = secciones[encabezadoGrupo + encabezadoSeccion]; List <Desglose> desgloses = seccionRelacionCajaActual.DesgloseRelacionCaja.ToList(); desgloses.Add(desglose); seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray(); } else { seccionRelacionCajaActual = new SeccionRelacionCaja(); seccionRelacionCajaActual.Encabezado = encabezadoSeccion; seccionRelacionCajaActual.IdSeccion = Convert.ToInt32(item.GetValue(4)); seccionRelacionCajaActual.TotalConIVA = Convert.ToDecimal(item.GetValue(5)); seccionRelacionCajaActual.TotalSinIVA = Convert.ToDecimal(item.GetValue(6)); seccionRelacionCajaActual.IVA = Convert.ToInt32(item.GetValue(7)); List <Desglose> desgloses = new List <Desglose>(); desgloses.Add(desglose); seccionRelacionCajaActual.DesgloseRelacionCaja = desgloses.ToArray(); secciones.Add(encabezadoGrupo + encabezadoSeccion, seccionRelacionCajaActual); // Llenado de Grupo GrupoRelacionCaja grupoRelacionCajaActual; if (grupos.ContainsKey(encabezadoGrupo)) { grupoRelacionCajaActual = grupos[encabezadoGrupo]; List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = grupoRelacionCajaActual.SeccionesRelacionCaja.ToList(); seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual); grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray(); } else { grupoRelacionCajaActual = new GrupoRelacionCaja(); grupoRelacionCajaActual.Encabezado = encabezadoGrupo; grupoRelacionCajaActual.IdGrupo = Convert.ToInt32(item.GetValue(8)); grupoRelacionCajaActual.TotalConIVA = Convert.ToDecimal(item.GetValue(9)); grupoRelacionCajaActual.TotalSinIVA = Convert.ToDecimal(item.GetValue(10)); grupoRelacionCajaActual.IVA = Convert.ToDecimal(item.GetValue(11)); List <SeccionRelacionCaja> seccionesRelacionCajaGrupo = new List <SeccionRelacionCaja>(); seccionesRelacionCajaGrupo.Add(seccionRelacionCajaActual); grupoRelacionCajaActual.SeccionesRelacionCaja = seccionesRelacionCajaGrupo.ToArray(); grupos.Add(encabezadoGrupo, grupoRelacionCajaActual); // Agregar Grupo hacia Relacion Caja List <GrupoRelacionCaja> gruposActuales = relacionCaja.GruposRelacionCaja.ToList(); gruposActuales.Add(grupoRelacionCajaActual); relacionCaja.GruposRelacionCaja = gruposActuales.ToArray(); } } } relacionesCaja.Add(relacionCaja); } return(relacionesCaja.ToArray()); }