Example #1
0
        public static CoefArea ToProject(this T_CoefArea t_coefArea)
        {
            CoefArea _coefArea = new CoefArea()
            {
                Value = t_coefArea.Value
            };

            return(_coefArea);
        }
        public static CoefArea UpdateCoefArea(CoefArea coef)
        {
            using (var db = new DB_BIM())
            {
                var _record = db.GetSingleElement <CoefArea>(x => x.Id == coef.Id);

                _record.Value         = coef.Value;
                _record.Area_Programa = coef.Area_Programa;
                _record.Area_Local    = coef.Area_Local;

                db.SaveChanges();
                return(_record);
            }
        }
Example #3
0
        public CoefArea AddNewRoom(int localId)
        {
            string excelfile = Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "*.xls").FirstOrDefault(x => x.Contains(_proyecto.Cod + "_ProgramaHoteleroCoeficientes"));

            if (excelfile != null)
            {
                FileInfo file = new FileInfo(excelfile);
                using (ExcelPackage _package = new ExcelPackage(file))
                {
                    var DatosGeneralesPage = _package.Workbook.Worksheets.FirstOrDefault(x => x.Name == "Datos Generales");

                    if (int.Parse(DatosGeneralesPage.Cells[8, 3].Value.ToString()) != _proyecto.Cant_Habitaciones)
                    {
                        DialogResult dialog = MessageBox.Show("La cantidad de habitaciones del proyecto no coincide con las del excel.\n¿Desea actualizar el proyecto?", "", MessageBoxButtons.YesNo);

                        if (dialog == DialogResult.Yes)
                        {
                            _proyecto.Cant_Habitaciones    = int.Parse(DatosGeneralesPage.Cells[8, 3].Value.ToString());
                            numeric_cantHabitaciones.Value = int.Parse(DatosGeneralesPage.Cells[8, 3].Value.ToString());
                            numeric_cantHabitaciones.Update();
                            btn_updateProject.PerformClick();
                        }
                    }

                    foreach (var cell in _package.Workbook.Worksheets.Select(sheet => sheet.Cells["A2:A"]).SelectMany(firstColumn => firstColumn.Where(cell => cell.Value != null && cell.Value.ToString() == localId.ToString())))
                    {
                        var rowValue    = cell.Start.Row;
                        var columnValue = cell.Worksheet.Dimension.End.Column;

                        while (cell.Worksheet.Cells[rowValue, columnValue].Value == null)
                        {
                            columnValue--;
                        }

                        var coefAreaValue = cell.Worksheet.Cells[rowValue, columnValue].Value.ToString();

                        var coefArea = new CoefArea()
                        {
                            Area_Programa = double.Parse(coefAreaValue)
                        };

                        return(coefArea);
                    }
                }
            }

            return(new CoefArea());
        }
Example #4
0
        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!");
        }