protected void btnAceptarSolicitud_Click(object sender, EventArgs e)
    {
        if (IsValid && EsSolicitudValida())
        {

            Solicitud Sol_Original = Solicitud.GetById(BiFactory.Sol.Id_Solicitud);
            Solicitud Reporte = Solicitud.FindFirst(Expression.Eq("IdSolicitudInicial", Sol_Original.Id_Solicitud));
            SolicitudPreventivo preventivo = SolicitudPreventivo.FindFirst(Expression.Eq("IdSolicitud", Reporte.Id_Solicitud));

            SolicitudPreventivo r = new SolicitudPreventivo();
            r.IdSolicitud = preventivo.IdSolicitud;

            r.FechaInicio = DateTime.Parse(txtDesde.Text);
            r.FechaFin = DateTime.Parse(txtHasta.Text);
            r.IdSitio = int.Parse(hdnSitio.Value);

            //Agregar la fecha de solicitud a la solicitud del tipo preventivo, asi tambien a correctivo

            Reporte.DescripcionReporte = txtDescripcionTrabajo.Text;
            Reporte.Status = eEstados.Realizado.ToString();
            Sol_Original.Status = eEstados.Realizado.ToString();
            Reporte.Save();
            Sol_Original.Update();
            r.Save();

            pnlMantenimientoPreventivoRendicion.Visible = false;

            ucMantenimientoPreventivoRendicion.Numero = Sol_Original.Id_Solicitud.ToString();
            ucMantenimientoPreventivoRendicion.SolicitudInicial = Sol_Original.Id_Solicitud.ToString();
            ucMantenimientoPreventivoRendicion.Titulo = Sol_Original.Descripcion;
            ucMantenimientoPreventivoRendicion.Estado = Sol_Original.Status;
            ucMantenimientoPreventivoRendicion.Sitio = litSitio.Text;
            ucMantenimientoPreventivoRendicion.Tareas = SolicitudTareas.GetReader(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivoRendicion.Personal = SolicitudRecursosEmpleados.GetPersonaHoras_Detalle_EnSolicitud(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivoRendicion.Vehiculos = SolicitudRecursosVehiculos.GetReader(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivoRendicion.Cliente = cmbClientes.SelectedItem.Text;
            ucMantenimientoPreventivoRendicion.ContactoCliente = Sol_Original.Contacto;
            ucMantenimientoPreventivoRendicion.NroOrden = Sol_Original.NroOrdenCte;
            ucMantenimientoPreventivoRendicion.TelefonoContacto = Sol_Original.ContactoTel;
            ucMantenimientoPreventivoRendicion.MailContacto = Sol_Original.ContactoMail;
            ucMantenimientoPreventivoRendicion.Adjuntos = Sol_Original.GetAdjuntos();

            decimal gastos = Solicitud.Valida_Gastos_Ingresados_Solicitud(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivoRendicion.Monto = gastos.ToString();

            ucMantenimientoPreventivoRendicion.Responsable = Solicitud.GetResponsable(BiFactory.Sol.Id_Solicitud.ToString());
            ucMantenimientoPreventivoRendicion.Descripcion_TrabajoRealizado = Reporte.DescripcionReporte; ;
            //SolicitudArchivoCalidad S = SolicitudArchivoCalidad.FindOne(Expression.Eq("IdSolicitud", BiFactory.Sol.Id_Solicitud));
            //if (S != null)
            //{
            //    ucMantenimientoPreventivoRendicion.HabilitarArchivoCalidad = true;
            //    ucMantenimientoPreventivoRendicion.Calidad = CalidadArchivos.FindAll(Expression.Eq("Id", S.IdCalidadArchivo)); ;
            //}
            ucMantenimientoPreventivoRendicion.HabilitarArchivoCalidad = true;
            ucMantenimientoPreventivoRendicion.Calidad = Sol_Original.GetAdjuntosCalidad();

            ucMantenimientoPreventivoRendicion.Visible = true;
        }
    }
    protected void btnAceptarSolicitud_Click(object sender, EventArgs e)
    {
        if (IsValid && EsSolicitudValida())
        {
            Solicitud sol = Solicitud.GetById(BiFactory.Sol.Id_Solicitud);

            sol.IdCliente = int.Parse(cmbClientes.SelectedValue);
            sol.Contacto = txtContactoCliente.Text;
            sol.NroOrdenCte = txtNroOrdenCliente.Text;
            sol.Status = eEstados.Pendiente.ToString();
            sol.ContactoMail = txtMailContacto.Text;
            sol.ContactoTel = txtTelefonoContacto.Text;

            SolicitudPreventivo Sol_P = SolicitudPreventivo.FindFirst(Expression.Eq("IdSolicitud", sol.Id_Solicitud));

            if (Sol_P == null)
            {
                Sol_P = new SolicitudPreventivo();
                Sol_P.IdSolicitud = sol.Id_Solicitud;
            }

            sol.Status = eEstados.Pendiente.ToString();
            Sol_P.IdSitio = int.Parse(cboSitios.SelectedValue);

            SolicitudTareas st = SolicitudTareas.FindOne(Expression.Eq("IdSolicitud", sol.Id_Solicitud));
            Sol_P.FechaFin = st.FechaFin;
            Sol_P.FechaInicio = st.FechaInicio;

            sol.Save();
            Sol_P.Save();

            pnlMantenimientoPreventivo.Visible = false;

            ucMantenimientoPreventivo.Numero = Sol_P.IdSolicitud.ToString();
            ucMantenimientoPreventivo.Titulo = sol.Descripcion;
            ucMantenimientoPreventivo.Estado = sol.Status;
            ucMantenimientoPreventivo.Sitio = cboSitios.SelectedItem.Text;
            ucMantenimientoPreventivo.Tareas = SolicitudTareas.GetReader(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivo.Personal = SolicitudRecursosEmpleados.GetReader(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivo.Vehiculos = SolicitudRecursosVehiculos.GetReader(BiFactory.Sol.Id_Solicitud);
            ucMantenimientoPreventivo.Cliente = cmbClientes.SelectedItem.Text;
            ucMantenimientoPreventivo.ContactoCliente = sol.Contacto;
            ucMantenimientoPreventivo.NroOrden = sol.NroOrdenCte;
            ucMantenimientoPreventivo.TelefonoContacto = sol.ContactoTel;
            ucMantenimientoPreventivo.MailContacto = sol.ContactoMail;
            ucMantenimientoPreventivo.Adjuntos = sol.GetAdjuntos();

            SolicitudArchivoCalidad S = SolicitudArchivoCalidad.FindOne(Expression.Eq("IdSolicitud", BiFactory.Sol.Id_Solicitud));
            if (S != null)
            {
                ucMantenimientoPreventivo.HabilitarArchivoCalidad = true;
                ucMantenimientoPreventivo.Calidad = CalidadArchivos.FindAll(Expression.Eq("Id", S.IdCalidadArchivo)); ;
            }

            decimal gastos = Solicitud.Valida_Gastos_Ingresados_Solicitud(sol.Id_Solicitud);
            ucMantenimientoPreventivo.Monto = gastos.ToString();
            //ucMantenimientoPreventivo.Gastos = SolicitudGastos.FindAll(Expression.Eq("IdSolicitud", sol.Id_Solicitud));
            ucMantenimientoPreventivo.Gastos = SolicitudGastos.GetGastosSolicitud(sol.Id_Solicitud);
            ucMantenimientoPreventivo.Visible = true;

            WebAntares.AntaresHelper.NotificaSolicitud(sol.Id_Solicitud);
        }
    }