示例#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;
            }
        }
    }