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