示例#1
0
    protected void gridExcel_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        string    mensaje           = "";
        string    fechaCoordinacion = "";
        string    descripcion       = "";
        string    inmueble          = "";
        DataTable dt = ViewState["dataSource"] as DataTable;

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            TableRow row   = e.Row;
            int      index = 0;
            index = Convert.ToInt32(((Label)row.FindControl("Index")).Text);

            #region fecha Observacion
            Label label = (Label)row.FindControl("Fecha");
            if (label.Text.Trim() != "")
            {
                try
                {
                    label.Text = DateTime.Parse(label.Text).ToString("dd-MM-yyyy");
                }
                catch (Exception ex)
                {
                    mensaje = ex.Message;
                    mensaje = "Error en la fecha de observación en la fila: " + index + ".";
                }
            }
            #endregion
            #region Fecha Entrega
            label = (Label)row.FindControl("FechaEntrega");
            if (label.Text.Trim() != "")
            {
                try
                {
                    label.Text = DateTime.Parse(label.Text).ToString("dd-MM-yyyy");
                }
                catch (Exception ex)
                {
                    mensaje = ex.Message;
                    mensaje = "Error en la fecha de Entrega en la fila: " + index + ".";
                }
            }
            #endregion
            #region Fecha Coordinacion
            label = (Label)row.FindControl("FechaCoordinacion");
            if (label.Text.Trim() != "")
            {
                try
                {
                    label.Text        = DateTime.Parse(label.Text).ToString("dd-MM-yyyy");
                    fechaCoordinacion = label.Text;
                }
                catch (Exception ex)
                {
                    mensaje = ex.Message;
                    mensaje = "Error en la fecha de Coordinación en la fila: " + index + ".";
                }
            }
            #endregion
            #region Hora Inicio
            label = (Label)row.FindControl("HoraInicio");
            if (label.Text.Trim() != "")
            {
                try
                {
                    label.Text = DateTime.Parse(label.Text).ToString("HH:mm");
                    Hora hora = DatosHoras.BuscarHoraPorDescripcion(label.Text);
                    if (hora.Id == 0)
                    {
                        throw new Exception("Error de formato en hora de Inicio en la fila: " + index + ".");
                    }
                }
                catch (Exception ex)
                {
                    mensaje = ex.Message;
                    mensaje = "Error en la Hora de Inicio en la fila: " + index + ".";
                }
            }
            #endregion
            #region Hora Término
            label = (Label)row.FindControl("HoraTermino");
            if (label.Text.Trim() != "")
            {
                try
                {
                    label.Text = DateTime.Parse(label.Text).ToString("HH:mm");
                    Hora hora = DatosHoras.BuscarHoraPorDescripcion(label.Text);
                    if (hora.Id == 0)
                    {
                        throw new Exception("Error de formato en hora de Termino en la fila: " + index + ".");
                    }
                }
                catch (Exception ex)
                {
                    mensaje = ex.Message;
                    mensaje = "Error en la Hora de término en la fila: " + index + ".";
                }
            }
            #endregion
            #region Descripcion
            label = (Label)row.FindControl("Observación");
            string obs = label.Text;
            if (obs.Trim() == "")
            {
                mensaje = "La descripcion en la fila " + index + " está vacía.";
            }
            else
            {
                string flag = obs.ElementAt(0) + "" + obs.ElementAt(1) + "" + obs.ElementAt(2) + "";
                if (flag.Trim() == "-")
                {
                    flag = "";
                    for (int i = 2; i < obs.Length; i++)
                    {
                        flag += obs.ElementAt(i) + "";
                    }
                    label.Text = flag;
                    dt.Rows[index - 1].BeginEdit();
                    dt.Rows[index - 1]["Observación"] = flag;
                    dt.Rows[index - 1].EndEdit();
                }
                descripcion = obs;
            }
            #endregion
            #region Inmueble
            label = (Label)row.FindControl("Inmueble");
            if (label.Text.Trim() == "")
            {
                mensaje = "No existe departamento en la fila: " + index + ".";
            }
            inmueble = label.Text;
            #endregion

            if (DatosObservacion.CompararObservacionPlantilla(inmueble, descripcion, fechaCoordinacion))
            {
            }
            else
            {
                ViewState["plantillaCargada"] = "false";
            }
            ViewState["dataSource"] = dt;
            if (mensaje != "")
            {
                btnGrabar.Enabled  = false;
                btnGrabar.CssClass = "btn btn-danger";
                divMensaje.Attributes.Add("class", "alert alert-success  col-md-8");
                lblMensaje.Text = mensaje;
            }
        }
    }
示例#2
0
    protected void btnGrabar_Click(object sender, EventArgs e)
    {
        try
        {
            lblMensaje.Text = "";
            Observacion observacion = new Observacion();

            observacion.HoraInicio2 = new Hora()
            {
                Id = 0
            };
            observacion.HoraTermino2 = new Hora()
            {
                Id = 0
            };
            observacion.EstadoReparacion = new EstadoReparacion()
            {
                Id = 1
            };
            observacion.Maestro = new Maestro()
            {
                Id = 1
            };
            observacion.Partida = new Partida()
            {
                Id = 1
            };
            observacion.Causa = new Causa()
            {
                Id = 1
            };
            observacion.Recinto = new Recinto()
            {
                Id = 1
            };
            observacion.TipoObservacion = new TipoObservacion()
            {
                Id = 10
            };

            DataTable dt = ViewState["dataSource"] as DataTable;

            foreach (DataRow row in dt.Rows)
            {
                if (row.RowState != DataRowState.Deleted)
                {
                    #region variables DataTable
                    string rowInmobiliaria           = row["Inmobiliaria"].ToString().Trim();
                    string rowProyecto               = row["Proyecto"].ToString().Trim();
                    string rowSupervisorConstructora = row["Supervisor Constructora"].ToString();
                    string rowSupervisorInmobiliaria = row["Solicitante Supervisor Inmob#"].ToString();
                    string rowFechaObservacion       = row["Fecha"].ToString();
                    string rowInmueble               = row["DEPTO"].ToString();
                    string rowDescripcion            = row["Observación"].ToString().Trim();
                    string rowPropietario            = row["Propietario"].ToString();
                    string rowRutPropietario         = row["Rut"].ToString();
                    string rowFechaEntrega           = row["Fecha Entrega"].ToString();
                    string rowNombreResidente        = row["Residente"].ToString();
                    string rowTeléfonoResidente      = row["Teléfono"].ToString();
                    string rowFechaCoordinación      = row["Fecha Coordinación"].ToString();
                    int    rowTipoHorario            = Convert.ToInt32(row["Tipo Horario"].ToString());
                    string rowHoraInicio             = row["Hora Inicio"].ToString();
                    string rowHoraTermino            = row["Hora Termino"].ToString();
                    string rowTipoObservacion        = row["Tipo Observacion"].ToString();
                    string rowTipoInmueble           = row["Tipo de Inmueble"].ToString();
                    #endregion

                    if (rowInmobiliaria != "")
                    {
                        observacion.SupervisorConstructora = DatosSupervisor.BuscarSupervisor(rowSupervisorConstructora);

                        observacion.SupervisorInmobiliaria = DatosSupervisor.BuscarSupervisor(rowSupervisorInmobiliaria);

                        observacion.FechaObservacion = DateTime.Parse(rowFechaObservacion).ToString("yyyy-MM-dd");

                        if (DatosProyecto.BuscarProyecto(rowProyecto).Id == 0)
                        {
                            //No Existe el proyecto ingresado desde el Excel
                            if (DatosInmobiliaria.BuscarInmobiliaria(rowInmobiliaria).Id == 0)
                            {
                                //Tampoco existe la inmobiliria...
                                //Se realiza el ingreso de ambos
                                Inmobiliaria inmo = new Inmobiliaria()
                                {
                                    Nombre = rowInmobiliaria
                                };
                                DatosInmobiliaria.AgregarInmobiliaria(inmo);
                                Proyecto obj = new Proyecto()
                                {
                                    Inmobiliaria   = DatosInmobiliaria.BuscarInmobiliaria(rowInmobiliaria),
                                    NombreProyecto = rowProyecto
                                };
                                DatosProyecto.AgregarProyecto(obj);
                            }
                            else
                            {
                                //Ya existe la inmobiliaria, por lo que solo se busca y se realiza el ingreso del proyecto
                                Proyecto obj = new Proyecto()
                                {
                                    Inmobiliaria   = DatosInmobiliaria.BuscarInmobiliaria(rowInmobiliaria),
                                    NombreProyecto = rowProyecto
                                };
                                DatosProyecto.AgregarProyecto(obj);
                            }
                        }

                        Proyecto proyecto = DatosProyecto.BuscarProyecto(rowProyecto);
                        Inmueble inmueble = DatosInmueble.BuscarInmueble(rowInmueble, proyecto.Id);

                        if (inmueble.Id != 0)
                        {
                            //Existe el inmueble
                            observacion.Inmueble = inmueble;
                        }
                        else
                        {
                            //No existe y se genera con los datos provenientes del excel
                            Inmueble obj = new Inmueble();
                            obj.Condominio = new Condominio()
                            {
                                //SIN CONDOMINIO
                                Id = 30
                            };
                            obj.Etapa = new Etapa()
                            {
                                //ETAPA 1
                                Id = 14
                            };
                            obj.Proyecto     = proyecto;
                            obj.NumInmueble  = rowInmueble;
                            obj.TipoInmueble = DatosTipoInmueble.BuscarTipoInmueble(rowTipoInmueble);
                            DatosInmueble.AgregarInmueble(obj);
                        }


                        observacion.DescObservacion = rowDescripcion;

                        //-----------------------------------------Datos del propietario---------------------------------------------------------------
                        observacion.RutPropietario = rowRutPropietario;

                        observacion.Propietario = DatosPropietario.BuscarPropietario(rowPropietario);
                        if (observacion.Propietario.Id == 0)
                        {
                            if (observacion.RutPropietario.Trim() != "")
                            {
                                observacion.Propietario.Rut = observacion.RutPropietario.Trim();
                            }
                            observacion.Propietario.Nombre = rowPropietario;
                            DatosPropietario.AgregarPropietario(observacion.Propietario);
                        }

                        if (rowFechaEntrega.Trim() != "")
                        {
                            observacion.FechaEntrega = DateTime.Parse(rowFechaEntrega).ToString("yyyy-MM-dd");
                        }
                        else
                        {
                            observacion.FechaEntrega = "";
                        }

                        observacion.NombreResidente = rowNombreResidente;

                        observacion.TelefonoResidente = rowTeléfonoResidente;

                        observacion.FechaCoordinacion = DateTime.Parse(rowFechaCoordinación).ToString("yyyy-MM-dd");

                        if (rowTipoHorario == 0)
                        {
                            observacion.HoraInicio = DatosHoras.BuscarHoraPorDescripcion(DateTime.Parse(rowHoraInicio).ToString("HH:mm"));

                            observacion.HoraTermino = DatosHoras.BuscarHoraPorDescripcion(DateTime.Parse(rowHoraTermino).ToString("HH:mm"));

                            observacion.TipoHorario = 0;
                        }
                        else
                        {
                            observacion.HoraInicio = DatosHoras.BuscarHoraPorDescripcion("9:00");

                            observacion.HoraTermino = DatosHoras.BuscarHoraPorDescripcion("18:30");

                            observacion.TipoHorario = 1;
                        }

                        observacion.TipoObservacion = DatosTipoObservacion.BuscarTipoObservacion(rowTipoObservacion);

                        int id = DatosObservacion.CompararObservacion(observacion.Inmueble.Id, observacion.DescObservacion);
                        if (id != 0)
                        {
                            Coordinacion obj = new Coordinacion()
                            {
                                Observacion = new Observacion()
                                {
                                    Id = id
                                },
                                Fecha       = observacion.FechaCoordinacion,
                                HoraInicio  = observacion.HoraInicio,
                                HoraTermino = observacion.HoraTermino
                            };
                            DatosCoordinacion.AgregarCoordinacion(obj);
                        }
                        else
                        {
                            DatosObservacion.AgregarObservacion(observacion);
                        }
                    }
                }
            }
            divMensaje.Attributes.Add("class", "alert alert-success  col-md-8");
            lblMensaje.Text = "Planilla agregada Correctamente";
        }
        catch (Exception Ex)
        {
            lblMensaje.Text = Ex.Message;
        }
    }