示例#1
0
    public static string getFechaUltImputacion()
    {
        DBConn DBConn = new DBConn();

        IB.sqldblib.SqlServerSP cDblib = DBConn.dblibclass;

        BLL.Usuario           usuarioBLL           = new BLL.Usuario(cDblib);
        BLL.JornadaCalendario jornadaCalendarioBLL = new BLL.JornadaCalendario(cDblib);
        Models.Usuario        oUsuario             = new Models.Usuario();
        try
        {
            //Se comprueba si hay huecos por el proceso de imputación de vacaciones para proponerle como fecha inicio el primer hueco en vez del siguiente día imputable a la última fecha de imputación
            DateTime fechaAnteriorPrimerHueco = jornadaCalendarioBLL.anteriorPrimerHueco((int)(HttpContext.Current.Session["NUM_EMPLEADO_IAP"]), (int)HttpContext.Current.Session["IDCALENDARIO_IAP"], (int)HttpContext.Current.Session["UMC_IAP"], (string)HttpContext.Current.Session["FEC_ALTA"], (string)HttpContext.Current.Session["FEC_BAJA"]);
            DateTime fecha = usuarioBLL.GetFechaUltImputacion((int)HttpContext.Current.Session["UsuarioActual"]).fUltImputacion;

            if (fechaAnteriorPrimerHueco < fecha)
            {
                fecha = fechaAnteriorPrimerHueco;
            }

            return(fecha.ToShortDateString());
        }
        catch (Exception ex)
        {
            LogError.LogearError("Error al obtener la fecha de última imputación", ex);
            throw new Exception(System.Uri.EscapeDataString("No se han podido obtener la fecha de última imputación del profesional."));
        }
        finally
        {
            usuarioBLL.Dispose();
            jornadaCalendarioBLL.Dispose();
            DBConn.Dispose();
        }
    }
    public static string obtenerFUltImputac()
    {
        BLL.Usuario UsuarioBLL = new BLL.Usuario();
        string      sUltImputac;

        try
        {
            sUltImputac = UsuarioBLL.GetFechaUltImputacion(int.Parse(HttpContext.Current.Session["NUM_EMPLEADO_IAP"].ToString())).fUltImputacion.ToShortDateString();
            HttpContext.Current.Session["FEC_ULT_IMPUTACION"] = sUltImputac;

            return(sUltImputac);
        }
        catch (Exception ex)
        {
            LogError.LogearError("Error al obtener la fecha de última imputación", ex);
            throw new Exception(System.Uri.EscapeDataString("Error al obtener la fecha de última imputación" + ex.Message));
        }
        finally
        {
            UsuarioBLL.Dispose();
        }
    }
示例#3
0
    public static string grabarImputacionMasiva(string idTarea, string tipoImp, string ultDiaReport, string fechaDesde, string fechaHasta,
                                                string cmbModo, Int32 festivos, Int32 finalizado, string horas, string obsImputacion,
                                                string obsTecnico, string totalEst, string fechaFinEst, Int32 obligaEst, Int32 PSN)
    {
        //bool bHuecoControlado = false;//bAvisado = false, bError = false;
        bool   bJornadaReducida = false;
        string sRes             = "Grabación correcta.";

        BLL.Usuario    bUsuario = new BLL.Usuario();
        Models.Usuario cUsuario = new Models.Usuario();
        Models.Usuario cUser    = new Models.Usuario();

        try
        {
            int idCalendario  = int.Parse(HttpContext.Current.Session["IDCALENDARIO_IAP"].ToString());
            int idUser        = int.Parse(HttpContext.Current.Session["UsuarioActual"].ToString());
            int idUserEntrada = int.Parse(HttpContext.Current.Session["NUM_EMPLEADO_ENTRADA"].ToString());

            #region Control de jornada reducida
            bJornadaReducida = (bool)HttpContext.Current.Session["JORNADA_REDUCIDA"];
            double   nHorasRed = 0;
            DateTime?dDesdeRed = null;
            DateTime?dHastaRed = null;
            if (bJornadaReducida)
            {
                nHorasRed = double.Parse(HttpContext.Current.Session["NHORASRED"].ToString());
                dDesdeRed = DateTime.Parse(HttpContext.Current.Session["FECDESRED"].ToString());
                dHastaRed = DateTime.Parse(HttpContext.Current.Session["FECHASRED"].ToString());
            }
            #endregion

            cUsuario = bUsuario.ObtenerRecurso(HttpContext.Current.Session["IDRED"].ToString(), ((int)HttpContext.Current.Session["UsuarioActual"] == 0) ? null : (int?)int.Parse(HttpContext.Current.Session["UsuarioActual"].ToString()));

            #region Ultimo mes cerrado IAP (Si el usuario tiene nodo el del nodo, sino el de empresa)
            HttpContext.Current.Session["UMC_IAP"] = cUsuario.t303_ultcierreIAP;
            #endregion
            #region Obtención de datos de la pantalla

            int      nOpcion  = int.Parse(tipoImp);                //Tipo imputación
            int      nTarea   = int.Parse(idTarea);                //Código de tarea
            DateTime dUDR     = DateTime.Parse(ultDiaReport);      //Último día reportado
            DateTime dDesde   = DateTime.Parse(fechaDesde);        //Fecha desde
            DateTime dHasta   = DateTime.Parse(fechaHasta);        //Fecha hasta
            int      nDifDias = Fechas.DateDiff("day", dDesde, dHasta);
            int      nModo    = int.Parse(cmbModo);                //Modo (Sustitución o Acumulación)

            bool   bFestivos   = (festivos == 1) ? true : false;   //Incluir no laborables y festivos
            bool   bFinalizado = (finalizado == 1) ? true : false; //Tarea finalizada
            double nHoras      = double.Parse(horas);              //Número de horas

            double   nETE = double.Parse(totalEst);                //Total estimado
            DateTime?dFFE = null;
            if (fechaFinEst != "")
            {
                dFFE = DateTime.Parse(fechaFinEst);            //Fecha fin estimación
            }
            bool bObligaest = (obligaEst == 1) ? true : false; //Obligatorio estimar
            int  nPSN       = PSN;                             //Código de proyectosubnodo
            #endregion

            cUser = bUsuario.Grabar(idCalendario, idUser, idUserEntrada,
                                    HttpContext.Current.Session["IDRED"].ToString(),
                                    cUsuario.t303_ultcierreIAP,
                                    HttpContext.Current.Session["DES_EMPLEADO_IAP"].ToString(),
                                    HttpContext.Current.Session["DES_EMPLEADO_ENTRADA"].ToString(),
                                    bJornadaReducida, nHorasRed, dDesdeRed, dHastaRed,
                                    nTarea, nOpcion, dUDR, dDesde, dHasta, nModo, bFestivos, bFinalizado, nHoras,
                                    obsImputacion, obsTecnico, nETE, dFFE, bObligaest, nPSN);
            //Actualizo la vble de sesión con la última fecha de imputación
            cUsuario = bUsuario.GetFechaUltImputacion(idUser);
            HttpContext.Current.Session["FEC_ULT_IMPUTACION"] = cUsuario.fUltImputacion.ToShortDateString();
            try
            {
                if (cUser.aListCorreo.Count > 0)
                {
                    SUPER.Capa_Negocio.Correo.EnviarCorreos(cUser.aListCorreo);
                }
            }
            catch (Exception ex)
            {
                //sResul = "Error@#@" + Errores.mostrarError("Error al enviar el mail a los responsables del proyecto", ex);
                IB.SUPER.Shared.LogError.LogearError("Error al enviar el mail a los responsables del proyecto", ex);
            }
            //bUsuario.Dispose();

            return(sRes);
        }
        catch (Exception ex)
        {
            //if (bErrorControlado)
            //    throw new ValidationException(System.Uri.EscapeDataString(sMsg));
            //else
            throw new ValidationException(System.Uri.EscapeDataString(ex.Message));
            //throw new ValidationException(System.Uri.EscapeDataString("Error en la grabación de la imputación masiva"));
        }

        finally
        {
            bUsuario.Dispose();
        }
    }