Exemple #1
0
        private void btn_ExportExcel_Click(object sender, EventArgs e)
        {
            /*//MessageBox.Show(Directory.GetFiles(@"\\10.72.221.18\02-PROYECTOS\").ToString());
             * var _path = @"Z:\02-PROYECTOS";
             * var _folders = Directory.GetDirectories(_path, "*", SearchOption.TopDirectoryOnly);
             *
             * var _this = "";
             * foreach (var item in _folders)
             * {
             *  var _depth1 = Directory.GetDirectories(Path.Combine(_path, item), "*", SearchOption.TopDirectoryOnly);
             *  foreach (var item2 in _depth1)
             *  {
             *      if (item2.Contains("P70"))
             *          _this += item2 + "\n";
             *  }
             * }
             *
             * MessageBox.Show(_this);*/

            SaveFileDialog _dialog = new SaveFileDialog();

            _dialog.RestoreDirectory = true;
            _dialog.InitialDirectory = @"Z:\02-PROYECTOS";
            _dialog.Filter           = "Excel File|*.xls";
            _dialog.FileName         = _proyecto.Cod + "_" + "BaseDatos.xlsx";
            _dialog.Title            = @"Guardar en: ...\01 Doc graficos\01 BIM\20_Recursos\02_Datos\";
            DialogResult _result = _dialog.ShowDialog();

            if (_result == DialogResult.OK)
            {
                //var _filepath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/" + _proyecto.Cod + "_" + "BaseDatos.xlsx";
                var _filepath = _dialog.FileName;
                var _file     = new FileInfo(_filepath);

                using (var _excelPackage = new ExcelPackage(_file))
                {
                    if (_excelPackage.Workbook.Worksheets.FirstOrDefault(x => x.Name == "BaseDatos") != null)
                    {
                        _excelPackage.Workbook.Worksheets.Delete("BaseDatos");
                    }

                    ExcelWorksheet _worksheet = _excelPackage.Workbook.Worksheets.Add("BaseDatos");
                    _worksheet.Cells["A1:AK10000"].AutoFilter = true;

                    #region Encabezados
                    //Encabezados
                    //RoomID
                    MakeHeader(ref _worksheet, 1, "RoomID");

                    //Cod0
                    MakeHeader(ref _worksheet, 2, "Cod0");

                    //Cod1
                    MakeHeader(ref _worksheet, 3, "Cod1");

                    //Cod2
                    MakeHeader(ref _worksheet, 4, "Cod2");

                    //KeyName
                    MakeHeader(ref _worksheet, 5, "Key Name");

                    //Name
                    MakeHeader(ref _worksheet, 6, "Name");

                    //Coef/Area
                    MakeHeader(ref _worksheet, 7, "CoeficienteArea");

                    //Coef/NumHab
                    MakeHeader(ref _worksheet, 8, "CoeficienteNumHab");

                    //PorcientoBD
                    MakeHeader(ref _worksheet, 9, "PorcientoBD");

                    //Habitacion
                    MakeHeader(ref _worksheet, 10, "Habitacion");

                    //Modulo
                    MakeHeader(ref _worksheet, 11, "Modulo");

                    //TipoEdificio
                    MakeHeader(ref _worksheet, 12, "TipoEdificio");

                    //SubsistemaTipo
                    MakeHeader(ref _worksheet, 13, "SubsistemaTipo");

                    //SubsistemaArea
                    MakeHeader(ref _worksheet, 14, "SubsistemaArea");

                    //LocalTipo
                    MakeHeader(ref _worksheet, 15, "LocalTipo");

                    //AmbienteClave
                    MakeHeader(ref _worksheet, 16, "AmbienteClave");

                    //Floor
                    MakeHeader(ref _worksheet, 17, "Floor");

                    //Rodapie
                    MakeHeader(ref _worksheet, 18, "Rodapie");

                    //WallFinish
                    MakeHeader(ref _worksheet, 19, "WallFinish");

                    //CeilingFinish
                    MakeHeader(ref _worksheet, 20, "CeilingFinish");

                    //BaseFinish
                    MakeHeader(ref _worksheet, 21, "BaseFinish");

                    //Tratamiento
                    MakeHeader(ref _worksheet, 22, "Tratamiento");

                    //Equipamiento
                    MakeHeader(ref _worksheet, 23, "Equipamiento");

                    //Criterio[m²/ kW]
                    MakeHeader(ref _worksheet, 24, "Criterio[m²/ kW]");

                    //Criterio [W/m²]
                    MakeHeader(ref _worksheet, 25, "Criterio [W/m²]");

                    //Aire Fresco [m³/h*m²]
                    MakeHeader(ref _worksheet, 26, "Aire Fresco [m³/h*m²]");

                    //Aire Fresco [m³/h*personas]
                    MakeHeader(ref _worksheet, 27, "Aire Fresco [m³/h*personas]");

                    //Renovaciones[Cambios / hr]
                    MakeHeader(ref _worksheet, 28, "Renovaciones[Cambios / hr]");

                    //W_Aire
                    MakeHeader(ref _worksheet, 29, "W_Aire");

                    //TF
                    MakeHeader(ref _worksheet, 30, "TF");

                    //TD
                    MakeHeader(ref _worksheet, 31, "TD");

                    //TD_POS
                    MakeHeader(ref _worksheet, 32, "TD_POS");

                    //UPSC
                    MakeHeader(ref _worksheet, 33, "UPSC");

                    //UPSI
                    MakeHeader(ref _worksheet, 34, "UPSI");

                    //TT_TV
                    MakeHeader(ref _worksheet, 35, "TT_TV");

                    //DI
                    MakeHeader(ref _worksheet, 36, "DI");

                    //ALTV
                    MakeHeader(ref _worksheet, 37, "ALTV");
                    #endregion

                    var _locales      = new DB_PLANTILLA().GetAllRecords <T_Local>();
                    var _grupoLocales = new DB_PLANTILLA().GetAllRecords <T_Grupo_Locales>();
                    var _porcientos   = new DB_PLANTILLA().GetAllRecords <T_Porciento_BD>();
                    var _suelos       = new DB_PLANTILLA().GetAllRecords <T_Catalogo_Suelo>();
                    var _rodapie      = new DB_PLANTILLA().GetAllRecords <T_Catalogo_Rodapie>();
                    var _pared        = new DB_PLANTILLA().GetAllRecords <T_Catalogo_Pared>();
                    var _techos       = new DB_PLANTILLA().GetAllRecords <T_Catalogo_Techo>();
                    var _impermeables = new DB_PLANTILLA().GetAllRecords <T_Catalogo_Impermeable>();

                    SplashScreenManager.ShowForm(typeof(WaitScreen));
                    for (int i = 0; i < _localesByProject.Count; i++)
                    {
                        var _local = _locales.FirstOrDefault(x => x.RoomId == _localesByProject[i].Local1.RoomId);
                        _worksheet.Cells[i + 2, 1].Value = _localesByProject[i].Local1.RoomId;
                        var _cod1 = _grupoLocales.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.LocalTipo.Grupo_Locales).Cod1;
                        _worksheet.Cells[i + 2, 2].Value = _cod1.Split('.').First();
                        _worksheet.Cells[i + 2, 3].Value = _cod1;
                        _worksheet.Cells[i + 2, 4].Value = _localesByProject[i].Local1.CalcularCod2();
                        _worksheet.Cells[i + 2, 5].Value = _local.Key_Name;
                        _worksheet.Column(5).AutoFit();
                        _worksheet.Cells[i + 2, 6].Value = _localesByProject[i].Local1.Key_Name;
                        _worksheet.Column(6).AutoFit();
                        _worksheet.Cells[i + 2, 7].Value  = _localesByProject[i].Local1.CoefArea.Value;
                        _worksheet.Cells[i + 2, 8].Value  = _localesByProject[i].Local1.GetCoefNumHab(_proyecto.Cant_Habitaciones.GetValueOrDefault());
                        _worksheet.Cells[i + 2, 9].Value  = _porcientos.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.Porciento_BD).Value.GetValueOrDefault().ToString("#,##");
                        _worksheet.Cells[i + 2, 10].Value = _local.Habitacion.GetValueOrDefault() ? "1" : "0";
                        _worksheet.Cells[i + 2, 11].Value = _local.Mod.GetValueOrDefault();
                        _worksheet.Cells[i + 2, 12].Value = _local.T_Tipo_Edificio.Value;
                        _worksheet.Column(12).AutoFit();
                        _worksheet.Cells[i + 2, 13].Value = _local.T_Subsistema_Tipo.Value;
                        _worksheet.Column(13).AutoFit();
                        _worksheet.Cells[i + 2, 14].Value = _local.T_Subsistema_Area.Value;
                        _worksheet.Column(14).AutoFit();
                        _worksheet.Cells[i + 2, 15].Value = _localesByProject[i].Local1.LocalTipo.Value;
                        _worksheet.Column(15).AutoFit();
                        _worksheet.Cells[i + 2, 16].Value = _localesByProject[i].Local1.Ambiente1.Nombre;
                        _worksheet.Column(16).AutoFit();
                        _worksheet.Cells[i + 2, 17].Value = _suelos.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.Ambiente1.Suelo).Cod;
                        _worksheet.Cells[i + 2, 18].Value = _rodapie.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.Ambiente1.Rodapie).Cod;
                        _worksheet.Cells[i + 2, 19].Value = _pared.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.Ambiente1.Pared).Cod;
                        _worksheet.Cells[i + 2, 20].Value = _techos.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.Ambiente1.Techo).Cod;
                        _worksheet.Cells[i + 2, 21].Value = _impermeables.FirstOrDefault(x => x.Id == _localesByProject[i].Local1.Ambiente1.Impermeable).Cod;
                        _worksheet.Cells[i + 2, 22].Value = _localesByProject[i].Local1.Climatizacion1.Tratamiento1.Value;
                        _worksheet.Cells[i + 2, 23].Value = _localesByProject[i].Local1.Climatizacion1.Equipamiento1.Value;
                        var _criterio = _localesByProject[i].Local1.Climatizacion1.Criterio1.Value == "-" ? 0 : float.Parse(_localesByProject[i].Local1.Climatizacion1.Criterio1.Value);
                        _worksheet.Cells[i + 2, 24].Value = _criterio;
                        _worksheet.Cells[i + 2, 25].Value = _criterio / 1000;
                        _worksheet.Cells[i + 2, 26].Value = _localesByProject[i].Local1.Climatizacion1.Aire_Fresco1.AF_Metro_Cuadrado.Value;
                        _worksheet.Cells[i + 2, 27].Value = _localesByProject[i].Local1.Climatizacion1.Aire_Fresco1.AF_Persona.Value;
                        _worksheet.Cells[i + 2, 28].Value = _localesByProject[i].Local1.Climatizacion1.Renovaciones1.Value;
                        _worksheet.Cells[i + 2, 28].Value = _localesByProject[i].Local1.Climatizacion1.W_Aire1.Value;
                        _worksheet.Cells[i + 2, 29].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.TF1.Value;
                        _worksheet.Cells[i + 2, 30].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.TD1.Value;
                        _worksheet.Cells[i + 2, 31].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.TD_Pos1.Value;
                        _worksheet.Cells[i + 2, 32].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.UPSC1.Value;
                        _worksheet.Cells[i + 2, 33].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.UPSI1.Value;
                        _worksheet.Cells[i + 2, 34].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.TT_TV1.Value;
                        _worksheet.Cells[i + 2, 35].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.DI1.Value;
                        _worksheet.Cells[i + 2, 36].Value = _localesByProject[i].Local1.Comunicaciones_Tv1.ALTV1.Value;
                    }

                    if (_excelPackage.Workbook.Worksheets.FirstOrDefault(x => x.Name == DateTime.Now.ToString("yyyyMMdd") + "-Programa") != null)
                    {
                        _excelPackage.Workbook.Worksheets.Delete(DateTime.Now.ToString("yyyyMMdd") + "-Programa");
                    }

                    _worksheet = _excelPackage.Workbook.Worksheets.Add(DateTime.Now.ToString("yyyyMMdd") + "-Programa");

                    MakeHeader(ref _worksheet, 1, "Cod1");
                    MakeHeader(ref _worksheet, 2, "Cod2");
                    MakeHeader(ref _worksheet, 3, "Cod3");
                    MakeHeader(ref _worksheet, 4, "Obj. Obra");
                    MakeHeader(ref _worksheet, 5, "Local Tipo");
                    MakeHeader(ref _worksheet, 6, "Nombre");
                    MakeHeader(ref _worksheet, 7, "Cantidad");
                    MakeHeader(ref _worksheet, 8, "Área Útil");
                    MakeHeader(ref _worksheet, 9, "Porciento BD");
                    MakeHeader(ref _worksheet, 10, "Área Calculo");

                    var orderedList = _localesByProject.OrderBy(l => l.Local1.Desglose1.Value).ThenBy(l => l.Local1.LocalTipo.Value).ToList();

                    var desglose  = "";
                    var localTipo = "";



                    for (int i = 0; i < orderedList.Count; i++)
                    {
                        _worksheet.Cells[i + 2, 1].Value = _locales.FirstOrDefault(l => l.RoomId == orderedList[i].Local1.RoomId).T_Grupo_Locales.Cod1;;
                        _worksheet.Cells[i + 2, 2].Value = orderedList[i].Local1.CalcularCod2();
                        _worksheet.Cells[i + 2, 3].Value = orderedList[i].Local1.CalcularCod3();
                        _worksheet.Cells[i + 2, 4].Value = orderedList[i].Local1.Desglose1.Value.ToUpper();
                        _worksheet.Cells[i + 2, 5].Value = orderedList[i].Local1.LocalTipo.Value.ToUpper();
                        _worksheet.Cells[i + 2, 6].Value = orderedList[i].Local1.Key_Name;
                        _worksheet.Cells[i + 2, 6].AutoFitColumns();
                        _worksheet.Cells[i + 2, 7].Value = orderedList[i].Cantidad;
                        float coefArea = float.Parse(orderedList[i].Local1.CoefArea.Value);

                        var areaUtil = orderedList[i].Local1.CalcularArea(_proyecto.Cant_Habitaciones.GetValueOrDefault());
                        _worksheet.Cells[i + 2, 8].Value = areaUtil;
                        double porcientos = double.Parse(_porcientos.FirstOrDefault(p => p.Id == orderedList[i].Local1.Porciento_BD).Value.ToString());
                        _worksheet.Cells[i + 2, 9].Value = ModificarPorcientos(_porcientos.FirstOrDefault(p => p.Id == orderedList[i].Local1.Porciento_BD).Value.ToString().Replace('.', ','));
                        var areaCalculo = areaUtil * porcientos;
                        _worksheet.Cells[i + 2, 10].Value = areaCalculo;

                        #region codigo viejo
                        //if (orderedList[i].Local1.Desglose1.Value == desglose)
                        //{
                        //    if (orderedList[i].Local1.LocalTipo.Value == localTipo)
                        //    {
                        //        _worksheet.Cells[i + 1, 1].Value = _locales.FirstOrDefault(l => l.RoomId == orderedList[i].Local1.RoomId).T_Grupo_Locales.Cod1; ;
                        //        _worksheet.Cells[i + 1, 2].Value = orderedList[i].Local1.CalcularCod2();
                        //        _worksheet.Cells[i + 1, 3].Value = orderedList[i].Local1.CalcularCod3();
                        //        _worksheet.Cells[i + 1, 5].Value = orderedList[i].Local1.Key_Name;
                        //        _worksheet.Cells[i + 1, 5].AutoFitColumns();
                        //        _worksheet.Cells[i + 1, 6].Value = orderedList[i].Cantidad;
                        //        float coefArea = float.Parse(orderedList[i].Local1.CoefArea.Value);

                        //        var areaUtil = orderedList[i].Local1.CalcularArea(_proyecto.Cant_Habitaciones.GetValueOrDefault());
                        //        //_worksheet.Cells[i + 1, 7].Value = coefArea;
                        //        _worksheet.Cells[i + 1, 7].Value = areaUtil;
                        //        double porcientos = double.Parse(_porcientos.FirstOrDefault(p => p.Id == orderedList[i].Local1.Porciento_BD).Value.ToString());
                        //        _worksheet.Cells[i + 1, 8].Value = ModificarPorcientos(_porcientos.FirstOrDefault(p => p.Id == orderedList[i].Local1.Porciento_BD).Value.ToString().Replace('.',','));
                        //        //var areaUtil = coefArea*porcientos;
                        //        var areaCalculo = areaUtil * porcientos;
                        //        _worksheet.Cells[i + 1, 9].Value = areaCalculo;

                        //    }
                        //    else
                        //    {
                        //        localTipo = orderedList[i].Local1.LocalTipo.Value;
                        //        _worksheet.Cells[i + 1, 4].Value = localTipo.ToUpper();
                        //    }
                        //}
                        //else
                        //{
                        //    desglose = orderedList[i].Local1.Desglose1.Value;
                        //    _worksheet.Cells[i + 1, 4].Value = desglose.ToUpper();
                        //}
                        #endregion
                    }
                    SplashScreenManager.CloseForm();

                    _excelPackage.Save();
                    MessageBox.Show("¡Exportado con éxito!");
                }
            }
        }
        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!");
        }
Exemple #3
0
        void AddGridViewRow(Locales_Proyecto localProyecto)
        {
            var _local           = localProyecto.GetLocal();
            var _proyecto        = localProyecto.GetProyecto();
            var _subsistemasTipo = new DB_PLANTILLA().GetAllRecords <T_Subsistema_Tipo>();
            var _subsistemasArea = new DB_PLANTILLA().GetAllRecords <T_Subsistema_Area>();
            var _localesTipo     = new DB_BIM().GetAllElements <LocalTipo>();
            var _grupoLocales    = new DB_PLANTILLA().GetAllRecords <T_Grupo_Locales>();
            var _cod1            = _grupoLocales.FirstOrDefault(x => x.Id == _localesTipo.FirstOrDefault(y => y.Id == _local.Local_Tipo).Grupo_Locales).Cod1;
            var _porcientos      = new DB_PLANTILLA().GetAllRecords <T_Porciento_BD>();
            var _coeficientes    = new DB_BIM().GetAllElements <CoefArea>();
            var _desgloses       = new DB_BIM().GetElements <Desglose>(x => x.Proyecto == _proyecto.Id);

            gridView1.AddNewRow();
            var _rowHandle = gridView1.GetRowHandle(gridView1.DataRowCount);

            if (gridView1.IsNewItemRow(_rowHandle))
            {
                var _coef = _coeficientes.FirstOrDefault(x => x.Id == _local.Coef_Area);

                if (_coef.Value == null)
                {
                    _coef.Value = "0";
                }



                //var _coefValue = float.Parse(_coef.Value);

                var _coefCalc = AddNewRoom(_local.RoomId);

                var _coefValue = 0f;

                _coefValue = float.Parse(_coefCalc.Area_Programa?.ToString() ?? _coef.Value);

                //var _coefValue = float.Parse(_coef.Value);

                //var _coefValue = _local.CoefArea == null ? float.Parse(_coef.Value) : float.Parse(_local.CoefArea.Value);

                //var _coefValue = _coef.Value == null ? 0.0 : float.Parse(_coef.Value);
                var _coefNumHab   = _local.GetCoefNumHab(_proyecto.Cant_Habitaciones.GetValueOrDefault());
                var _porciento    = _porcientos.FirstOrDefault(x => x.Id == _local.Porciento_BD).Value;
                var _areaPrograma = (_coefValue * _coefNumHab);
                var _areaCalculo  = (_areaPrograma * _porciento).GetValueOrDefault().ToString("#.##");

                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Obj. Obra"], _desgloses.FirstOrDefault(x => x.Id == _local.Desglose).Value);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["RoomID"], _local.RoomId);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["ID"], _local.Id);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Local"], _local.Key_Name);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["SubsistemaTipo"], _subsistemasTipo.FirstOrDefault(x => x.Id == _local.SubsistemaTipo).Value);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["SubsistemaArea"], _subsistemasArea.FirstOrDefault(x => x.Id == _local.SubsistemaArea).Value);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["LocalTipo"], _localesTipo.FirstOrDefault(x => x.Id == _local.Local_Tipo).Value);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Cod1"], _cod1);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Cod2"], _local.CalcularCod2());
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Cod3"], _local.CalcularCod3());
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Hab"], localProyecto.Local1.Habitacion.GetValueOrDefault() ? "1" : "0");
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Cantidad"], localProyecto.Cantidad);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Coef/Area"], _coef.Area_Programa);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Coef/Num.Habitaciones"], _coefNumHab);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Área Útil [m²]"], _coef.Area_Local);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Promedio de % Base Diseño"], _porciento);
                gridView1.SetRowCellValue(_rowHandle, gridView1.Columns["Áreas De Cálculo [m²]"], _areaCalculo);
            }

            gridView1.Focus();
        }