public JsonResult CalcularFechaFin(int NumeroDias, string FechaInicio, string DiasFestivosSabadosDomingos) { MensajeRespuesta oMensajeRespuesta = new MensajeRespuesta(); UtilitiesGenerales oUtilitiesGenerales = new UtilitiesGenerales(); try { DateTime FechaFin = Convert.ToDateTime(FechaInicio).AddDays(NumeroDias - 1); FechaFin = oUtilitiesGenerales.CalcularFechaFinHabil(Convert.ToDateTime(FechaInicio), FechaFin, NumeroDias, DiasFestivosSabadosDomingos); oMensajeRespuesta.Codigo = "0"; oMensajeRespuesta.Mensaje = ""; oMensajeRespuesta.Resultado = Json(FechaFin.ToShortDateString()); return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } catch (Exception Ex) { Logger.Error("Ocurrió un error calculando la fecha de fin. Fecha de inicio: " + FechaInicio + ". Número de días: " + NumeroDias + ". Exception: " + Ex); oMensajeRespuesta.Codigo = "-1"; oMensajeRespuesta.Mensaje = "Ocurrió un error inesperado. Consulte al administrador del sistema"; oMensajeRespuesta.Resultado = Json(DateTime.Now.ToShortDateString(), JsonRequestBehavior.AllowGet); return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } }
// GET: EjecutivosYPlanta public ActionResult Index(string oDatosFormulario, string oDatosSAP) { try { RespuestaMotorModels oRespuestaMotor = new RespuestaMotorModels(); RespuestaSAPModels oRespuestaSAPModels = new RespuestaSAPModels(); UtilitiesGenerales oDiasContingente = new UtilitiesGenerales(); oRespuestaMotor = JsonConvert.DeserializeObject <RespuestaMotorModels>(oDatosFormulario); ViewBag.oRespuestaMotor = JsonConvert.SerializeObject(oRespuestaMotor); oRespuestaSAPModels = JsonConvert.DeserializeObject <RespuestaSAPModels>(oDatosSAP); ViewBag.oRespuestaSAPModels = JsonConvert.SerializeObject(oRespuestaSAPModels); ViewBag.NroIdentificacion = oRespuestaSAPModels.Details[0].NroDocumento; //Asignacion dle nombre del Empleado ViewBag.NombresEmpleado = oRespuestaSAPModels.Details[0].PrimerNombre + " " + oRespuestaSAPModels.Details[0].SegundoNombre + " "; ViewBag.ApellidosEmpleado = oRespuestaSAPModels.Details[0].PrimerApellido + " " + oRespuestaSAPModels.Details[0].SegundoApellido; foreach (var oReglas in oRespuestaMotor.Reglas) { switch (oReglas.Prmtro) { case "NroDias": ViewBag.NumeroDias = oDiasContingente.CalcularDiasContingente(oRespuestaSAPModels.Details[0].Contingentes.Contigente, oReglas).ToString().Replace('.', ','); // Pendiente por realizar //////////////////////// break; case "NroMinDias": ViewBag.MinimoDias = Convert.ToDouble(oReglas.Vlr_Slda); break; case "DiasMinCalendario": ViewBag.InicioFecha = DateTime.Now.AddDays(Convert.ToDouble(oReglas.Vlr_Slda)); break; case "DiasMaxCalendario": ViewBag.FinFecha = DateTime.Now.AddDays(Convert.ToDouble(oReglas.Vlr_Slda)); break; case "NroMinDiasCorreoCompensacion": ViewBag.NroMinDiasCorreoCompensacion = int.Parse(oReglas.Vlr_Slda); break; case "CorreoCompensacion": ViewBag.CorreoCompensacion = oReglas.Vlr_Slda; break; } } ViewBag.SabadoHabil = oRespuestaSAPModels.Details[0].SabadoHabil; // Se obtienen las fechas de los festivos, sabados y domingos (Si se envía true incluira los sábados, si se envía false no incluirá los sábados, según criterio) string DiasFestivosSabadosDomingos = FestivosColombia.DiasFestivoSabadosDomingosConcatenado(DateTime.Now.Year, oRespuestaSAPModels.Details[0].SabadoHabil == "NO" ? true : false); ViewBag.DiasFestivosSabadosDomingos = DiasFestivosSabadosDomingos; return(View()); } catch (Exception Ex) { Logger.Error("Ocurrió un error construyendo el View de Ejecutivos y Planta." + "Exception: " + Ex); return(null); } }
public JsonResult GuardarSolicitud(string NroIdentificacionAnotador, string NombresEmpleadoAnotador, string ApellidosEmpleadoAnotador, string oRespuestaMotor, string oDataActual, string oCorreoAnotador) { MensajeRespuesta oMensajeRespuesta = new MensajeRespuesta(); ConsumoAPIGuardarSolicitud oConsumoAPIGuardarSolicitud = new ConsumoAPIGuardarSolicitud(); RespuestaMotorModels oRespuestaMotorModels = new RespuestaMotorModels(); Solicitudes oSolicitudes = new Solicitudes(); UtilitiesGenerales oUtilitiesGenerales = new UtilitiesGenerales(); string NombreUser = System.Web.HttpContext.Current.User.Identity.Name; int backSlash = NombreUser.IndexOf("\\"); string UserName = backSlash > 0 ? NombreUser.Substring(backSlash + 1) : NombreUser; try { if (!string.IsNullOrEmpty(oRespuestaMotor)) { oRespuestaMotorModels = JsonConvert.DeserializeObject <RespuestaMotorModels>(oRespuestaMotor); //oCorreoAnotador = !string.IsNullOrEmpty(oRespuestaSAPModels.Details[0].CorreoCorp) ? oRespuestaSAPModels.Details[0].CorreoCorp : oRespuestaSAPModels.Details[0].CorreoPersonal; oSolicitudes.fcha_hra_slctd = DateTime.Now; oSolicitudes.nmbrs_slctnte = HttpUtility.HtmlDecode(NombresEmpleadoAnotador); oSolicitudes.apllds_slctnte = HttpUtility.HtmlDecode(ApellidosEmpleadoAnotador); oSolicitudes.nmro_idntfccn = NroIdentificacionAnotador; oSolicitudes.cdgo_escenario = oRespuestaMotorModels.Escenario[0].Cdgo; oSolicitudes.detalle = GenerarObjetoSolicitudDetalle(oDataActual); oSolicitudes.crro_antdr = oCorreoAnotador; oSolicitudes.ip = Request.UserHostAddress; oSolicitudes.nmbre_usrio = oCorreoAnotador; oSolicitudes.nmbre_eqpo = oCorreoAnotador; oSolicitudes.ip = oUtilitiesGenerales.ObtenerIp(); oSolicitudes.nmbre_usrio = UserName; oSolicitudes.nmbre_eqpo = oUtilitiesGenerales.ObtenerNombreMaquina(); if (oSolicitudes.detalle != null && oSolicitudes.detalle.Count > 0) { oMensajeRespuesta = oConsumoAPIGuardarSolicitud.AlmacenarSolicitud(oSolicitudes); } else { Logger.Error("Ocurrió un error almacenando la solicitud de vacaciones. Nro Documento Encabezado: " + oSolicitudes.nmro_idntfccn + ". Especificacion: Ocurrió un error generando el Objeto solicitud detalle en la clase AnotadorController método GenerarObjetoSolicitudDetalle" + ". "); oMensajeRespuesta.Codigo = "-1"; oMensajeRespuesta.Mensaje = "Ocurrió un error almacenando la solicitud de vacaciones. Contacte al administrador del sistema"; } } else { oMensajeRespuesta.Codigo = "-1"; oMensajeRespuesta.Mensaje = "Ocurrió un error almacenando la solicitud de vacaciones. Contacte al administrador del sistema"; Logger.Error("Ocurrió un error almacenando la solicitud de vacaciones. Nro Documento Encabezado: " + NroIdentificacionAnotador + ". "); } return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } catch (Exception Ex) { Logger.Error("Ocurrió un error almacenando la solicitud de vacaciones. Nro Documento Encabezado: " + oSolicitudes.nmro_idntfccn + ". Exception: " + Ex); oMensajeRespuesta.Codigo = "-3"; oMensajeRespuesta.Mensaje = "Ocurrió un error almacenando la solicitud de vacaciones. Contacte al administrador del sistema"; oMensajeRespuesta.Resultado = Json(JsonConvert.SerializeObject(oMensajeRespuesta, Formatting.Indented), JsonRequestBehavior.AllowGet); return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } }
public JsonResult GuardarSolicitud(string NroIdentificacion, string NombresEmpleado, string ApellidosEmpleado, string oRespuestaSAP, string oRespuestaMotor, string NumeroDias, string SabadoHabil, string FechaInicio, string FechaFin, string NroMinDiasCorreoCompensacion, string CorreoCompensacion) { MensajeRespuesta oMensajeRespuesta = new MensajeRespuesta(); ConsumoAPIGuardarSolicitud oConsumoAPIGuardarSolicitud = new ConsumoAPIGuardarSolicitud(); RespuestaSAPModels oRespuestaSAPModels = new RespuestaSAPModels(); RespuestaMotorModels oRespuestaMotorModels = new RespuestaMotorModels(); List <SolicitudDetalle> oLstSolicitudDetalle = new List <SolicitudDetalle>(); Solicitudes oSolicitudes = new Solicitudes(); ConsumoAPIFlow oConsumoApiFlow = new ConsumoAPIFlow(); RespuestaGuardarSolicitudModels oRespuestaGuardarSolicitudModels = new RespuestaGuardarSolicitudModels(); UtilitiesGenerales oUtilitiesGenerales = new UtilitiesGenerales(); try { string NombreUser = System.Web.HttpContext.Current.User.Identity.Name; int backSlash = NombreUser.IndexOf("\\"); string UserName = backSlash > 0 ? NombreUser.Substring(backSlash + 1) : NombreUser; oRespuestaSAPModels = JsonConvert.DeserializeObject <RespuestaSAPModels>(oRespuestaSAP); oRespuestaMotorModels = JsonConvert.DeserializeObject <RespuestaMotorModels>(oRespuestaMotor); oLstSolicitudDetalle.Add(new SolicitudDetalle { nmbrs_slctnte = HttpUtility.HtmlDecode(NombresEmpleado), apllds_slctnte = HttpUtility.HtmlDecode(ApellidosEmpleado), fcha_inco_vccns = Convert.ToDateTime(FechaInicio), fcha_fn_vcc = Convert.ToDateTime(FechaFin), nmro_ds = int.Parse(NumeroDias), sbdo_hbl = oRespuestaSAPModels.Details[0].SabadoHabil == "NO" ? false : true, fcha_hra_aprvc = DateTime.Now, fcha_hra_rgstro_nvdd = DateTime.Now, crreo_slctnte = !string.IsNullOrEmpty(oRespuestaSAPModels.Details[0].CorreoCorp) ? oRespuestaSAPModels.Details[0].CorreoCorp : oRespuestaSAPModels.Details[0].CorreoPersonal, crreo_jfe_slctnte = !string.IsNullOrEmpty(oRespuestaSAPModels.Details[0].CorreoCorpJefe) ? oRespuestaSAPModels.Details[0].CorreoCorpJefe : oRespuestaSAPModels.Details[0].CorreoPersonalJefe, codEmpldo = oRespuestaSAPModels.Details[0].NroPersonal, idEstdoSlctd = 1, scdd = oRespuestaSAPModels.Details[0].Sociedad, idntfccn_slctnte = NroIdentificacion, NroMinDiasCorreoCompensacion = int.Parse(NroMinDiasCorreoCompensacion), CorreoCompensacion = CorreoCompensacion }); oSolicitudes.fcha_hra_slctd = DateTime.Now; oSolicitudes.nmbrs_slctnte = HttpUtility.HtmlDecode(NombresEmpleado); oSolicitudes.apllds_slctnte = HttpUtility.HtmlDecode(ApellidosEmpleado); oSolicitudes.nmro_idntfccn = NroIdentificacion; oSolicitudes.cdgo_escenario = oRespuestaMotorModels.Escenario[0].Cdgo; oSolicitudes.detalle = oLstSolicitudDetalle; oSolicitudes.crro_antdr = ""; oSolicitudes.ip = oUtilitiesGenerales.ObtenerIp(); oSolicitudes.nmbre_usrio = UserName; oSolicitudes.nmbre_eqpo = oUtilitiesGenerales.ObtenerNombreMaquina(); oMensajeRespuesta = oConsumoAPIGuardarSolicitud.AlmacenarSolicitud(oSolicitudes); if (oMensajeRespuesta.Codigo == "1") { string oRespuestaGuardarSolicitud = JsonConvert.SerializeObject(oMensajeRespuesta.Resultado.Data, Formatting.Indented); oRespuestaGuardarSolicitudModels = JsonConvert.DeserializeObject <RespuestaGuardarSolicitudModels>(oRespuestaGuardarSolicitud); string URIAprobacionyRechazo = Request.Url.Scheme + //Https "://" + Request.Url.Authority + //WWW. Request.ApplicationPath.TrimEnd('/') + "/" + //Base del sitio URIAprobacion + // AprobacionYRechazo/Index IdSolicitud + HttpUtility.UrlEncode(StringCipher.Encrypt(oRespuestaGuardarSolicitudModels.Resultado.ToString())) + "&" + CorreoJefe + HttpUtility.UrlEncode(StringCipher.Encrypt(oLstSolicitudDetalle[0].crreo_jfe_slctnte)); FlowModels oFlow = new FlowModels { correoSolicitante = oLstSolicitudDetalle[0].crreo_slctnte, nombreSolicitante = HttpUtility.HtmlDecode(oLstSolicitudDetalle[0].nmbrs_slctnte) + " " + HttpUtility.HtmlDecode(oLstSolicitudDetalle[0].apllds_slctnte), fecha_fin = oLstSolicitudDetalle[0].fcha_fn_vcc.ToShortDateString(), fecha_inicio = oLstSolicitudDetalle[0].fcha_inco_vccns.ToShortDateString(), CorreoJefe = oLstSolicitudDetalle[0].crreo_jfe_slctnte, url = "<a href=" + URIAprobacionyRechazo + ">Haga clic aqui </a>", opt = 1 }; oConsumoApiFlow.EnviarNotificacionFlow(oFlow); if (oLstSolicitudDetalle[0].nmro_ds <= int.Parse(NroMinDiasCorreoCompensacion)) { FlowModels oFlowMesaCompensacion = new FlowModels { CorreoCompensacion = CorreoCompensacion, nombreSolicitante = HttpUtility.HtmlDecode(oLstSolicitudDetalle[0].nmbrs_slctnte) + " " + HttpUtility.HtmlDecode(oLstSolicitudDetalle[0].apllds_slctnte), fecha_inicio = oLstSolicitudDetalle[0].fcha_inco_vccns.ToShortDateString(), fecha_fin = oLstSolicitudDetalle[0].fcha_fn_vcc.ToShortDateString(), opt = 5 }; oConsumoApiFlow.EnviarNotificacionFlow(oFlowMesaCompensacion); } } return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } catch (Exception Ex) { Logger.Error("Ocurrió un error almacenando la solicitud de vacaciones. Nro Documento Encabezado: " + oSolicitudes.nmro_idntfccn + ". Exception: " + Ex); oMensajeRespuesta.Codigo = "-3"; oMensajeRespuesta.Mensaje = "Ocurrió un error almacenando la solicitud de vacaciones. Contacte al administrador del sistema"; oMensajeRespuesta.Resultado = Json(JsonConvert.SerializeObject(oMensajeRespuesta, Formatting.Indented), JsonRequestBehavior.AllowGet); return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } }
public JsonResult ArmarObjetoPantallaModal(string RespuestaMotor, string RespuestaSAP) { MensajeRespuesta oMensajeRespuesta = new MensajeRespuesta(); RespuestaSAPModels oRespuestaSap = new RespuestaSAPModels(); RespuestaMotorModels oRespuestaMotor = new RespuestaMotorModels { Escenario = new List <EscenarioModels>(), Reglas = new List <ReglaModels>(), Error = new ErrorModels() }; UtilitiesGenerales oDiasContingente = new UtilitiesGenerales(); ModalAnotadoresModels oModalAnotadoresModels = new ModalAnotadoresModels(); try { oRespuestaMotor = JsonConvert.DeserializeObject <RespuestaMotorModels>(RespuestaMotor); oRespuestaSap = JsonConvert.DeserializeObject <RespuestaSAPModels>(RespuestaSAP); oModalAnotadoresModels.NombreEmpleado = HttpUtility.HtmlDecode(oRespuestaSap.Details[0].PrimerNombre) + " " + HttpUtility.HtmlDecode(oRespuestaSap.Details[0].SegundoNombre) + " "; oModalAnotadoresModels.ApellidoEmpleado = HttpUtility.HtmlDecode(oRespuestaSap.Details[0].PrimerApellido) + " " + HttpUtility.HtmlDecode(oRespuestaSap.Details[0].SegundoApellido); foreach (var oReglas in oRespuestaMotor.Reglas) { switch (oReglas.Prmtro) { case "NroDias": oModalAnotadoresModels.NroDias = oDiasContingente.CalcularDiasContingente(oRespuestaSap.Details[0].Contingentes.Contigente, oReglas).ToString().Replace('.', ','); // Pendiente por realizar //////////////////////// break; case "NroMinDias": oModalAnotadoresModels.MinimoDias = Convert.ToDouble(oReglas.Vlr_Slda); break; case "DiasMinCalendario": oModalAnotadoresModels.InicioFecha = DateTime.Now.AddDays(Convert.ToDouble(oReglas.Vlr_Slda)); break; case "DiasMaxCalendario": oModalAnotadoresModels.FinFecha = DateTime.Now.AddDays(Convert.ToDouble(oReglas.Vlr_Slda)); break; case "NroMinDiasCorreoCompensacion": oModalAnotadoresModels.NroMinDiasCorreoCompensacion = int.Parse(oReglas.Vlr_Slda); break; case "CorreoCompensacion": oModalAnotadoresModels.CorreoCompensacion = oReglas.Vlr_Slda; break; } } oModalAnotadoresModels.SabadoHabil = oRespuestaSap.Details[0].SabadoHabil; // Se obtienen las fechas de los festivos, sabados y domingos (Si se envía true incluira los sábados, si se envía false no incluirá los sábados, según criterio) string DiasFestivosSabadosDomingos = FestivosColombia.DiasFestivoSabadosDomingosConcatenado(DateTime.Now.Year, oModalAnotadoresModels.SabadoHabil == "NO" ? true : false); oModalAnotadoresModels.DiasFestivosSabadosDomingos = DiasFestivosSabadosDomingos; oModalAnotadoresModels.CorreoSolicitante = !string.IsNullOrEmpty(oRespuestaSap.Details[0].CorreoCorp) ? oRespuestaSap.Details[0].CorreoCorp : oRespuestaSap.Details[0].CorreoPersonal; oModalAnotadoresModels.CorreoJefeSolicitante = !string.IsNullOrEmpty(oRespuestaSap.Details[0].CorreoCorpJefe) ? oRespuestaSap.Details[0].CorreoCorpJefe : oRespuestaSap.Details[0].CorreoPersonalJefe; oModalAnotadoresModels.CodigoEmpleado = oRespuestaSap.Details[0].NroPersonal; oModalAnotadoresModels.Sociedad = oRespuestaSap.Details[0].Sociedad; oMensajeRespuesta.Codigo = "1"; oMensajeRespuesta.Resultado = Json(oModalAnotadoresModels, JsonRequestBehavior.AllowGet); return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } catch (Exception Ex) { Logger.Error("Ocurrió un error interno en el consumo del API del motor de reglas. " + "Exception: " + Ex); oMensajeRespuesta.Codigo = "-3"; oMensajeRespuesta.Mensaje = "Ocurrió un error inesperado en la consulta de la información. Contacte al administrador del sistema"; oMensajeRespuesta.Resultado = Json(JsonConvert.SerializeObject(oMensajeRespuesta, Formatting.Indented), JsonRequestBehavior.AllowGet); return(Json(oMensajeRespuesta, JsonRequestBehavior.AllowGet)); } }