Exemple #1
0
        private void btn_importarExcel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            for (int i = 0; i < gridView1.RowCount; i++)
            {
                gridView1.DeleteRow(i);
            }

            Form _excelForm = new ExcelImportForm(_proyecto);

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