public GenerateBitacoraResponse GenerateBitacoraRenunciaCandidatura(int candidaturaId, int estadoAnteriorId, int estadoNuevoId, int etapaAnteriorId, int motivoRenunciaId) { var response = new GenerateBitacoraResponse() { IsValid = true }; try { var userInfo = (UsuarioRolPermisoViewModel)HttpContext.Current.Session["Usuario"]; var nCandidaturas = _candidaturaRepository.CountByCriteria(x => x.CandidaturaId == candidaturaId); var estadoAnterior = _tipoEstadoCandidaturaRepository.GetOne(x => x.TipoEstadoCandidaturaId == estadoAnteriorId); var estadoNuevo = _tipoEstadoCandidaturaRepository.GetOne(x => x.TipoEstadoCandidaturaId == estadoNuevoId); var etapaAnterior = _tipoEtapaCandidaturaRepository.GetOne(x => x.TipoEtapaCandidaturaId == etapaAnteriorId); var motivoRenuncia = _maestroRepository.GetOne(x => x.MaestroId == motivoRenunciaId); if ((userInfo == null) || (nCandidaturas != 1) || (estadoAnterior == null) || (estadoNuevo == null) || (etapaAnterior == null) || (motivoRenuncia == null)) { response.IsValid = false; response.ErrorMessage = ERROR_MESSAGE; return(response); } var message = string.Format("La candidatura con referencia {0} fué cambiada a 'Renuncia' por el usuario: '{1}' en la fecha: '{2}'. Motivo: {3}", candidaturaId, userInfo.Usuario, DateTime.Now, motivoRenuncia.Nombre); var newBitacora = new Bitacora() { CandidaturaId = candidaturaId, TipoBitacora = (int)TipoBitacoraEnum.Renuncia, Observaciones = "", MensajeSistema = message, EstadoAnteriorId = estadoAnteriorId, EtapaAnteriorId = etapaAnteriorId, EstadoNuevoId = estadoNuevoId, EtapaNuevaId = etapaAnteriorId, IsActivo = true, CreatedBy = userInfo.UsuarioId, Created = DateTime.Now, Revertible = true, }; _bitacoraRepository.Create(newBitacora); } catch { response.IsValid = false; response.ErrorMessage = ERROR_MESSAGE; } return(response); }
public GenerateBitacoraEditNecesidadResponse GenerateBitacoraEditNecesidad(DatosComparativaBitacoraViewModel datosBitacoraViewModel) { var response = new GenerateBitacoraEditNecesidadResponse() { IsValid = true }; try { var userInfo = (UsuarioRolPermisoViewModel)HttpContext.Current.Session["Usuario"]; var nombreEstadoAnterior = _maestroRepository.GetOne(x => x.MaestroId == datosBitacoraViewModel.EstadoAnteriorId); var nombreEstadoNuevo = _maestroRepository.GetOne(x => x.MaestroId == datosBitacoraViewModel.EstadoNuevoId); var nombrePerfilAnterior = _maestroRepository.GetOne(x => x.MaestroId == datosBitacoraViewModel.PerfilAnteriorId); var nombrePerfilNuevo = _maestroRepository.GetOne(x => x.MaestroId == datosBitacoraViewModel.PerfilNuevoId); var personaAsignadaAnterior = datosBitacoraViewModel.PersonaAsignadaAnterior; var personaAsignadaNueva = datosBitacoraViewModel.PersonaAsignadaNueva; if ((userInfo == null)) { response.IsValid = false; response.ErrorMessage = ERROR_MESSAGE; return(response); } var message = string.Format("La necesidad con referencia {0} fué editada por el usuario: '{1}' en la fecha: '{2}'", datosBitacoraViewModel.NecesidadId, userInfo.Usuario, DateTime.Now); if (datosBitacoraViewModel.EstadoAnteriorId != datosBitacoraViewModel.EstadoNuevoId) { message = message + string.Format("\nEl estado ha cambiado de '{0}' a '{1}'", nombreEstadoAnterior.Nombre, nombreEstadoNuevo.Nombre); } if (personaAsignadaAnterior != personaAsignadaNueva) { if (personaAsignadaAnterior != null && personaAsignadaNueva != null) { message = message + string.Format("\nSe ha cambiado la persona asignada de {0} a {1}", personaAsignadaAnterior, personaAsignadaNueva); } else if (personaAsignadaNueva == null) { message = message + string.Format("\nSe ha liberado la persona asignada {0}", personaAsignadaAnterior); } else { message = message + string.Format("\nSe ha asignado la persona {0}", personaAsignadaNueva); } } if (datosBitacoraViewModel.PerfilAnteriorId != datosBitacoraViewModel.PerfilNuevoId) { message = message + string.Format("\nEl perfil ha cambiado de '{0}' a '{1}'", nombrePerfilAnterior.Nombre, nombrePerfilNuevo.Nombre); } if (datosBitacoraViewModel.FechaSolicitudAnterior != datosBitacoraViewModel.FechaSolicitudNueva) { message = message + string.Format("\nLa fecha de solicitud ha cambiado de '{0}' a '{1}'", datosBitacoraViewModel.FechaSolicitudAnterior, datosBitacoraViewModel.FechaSolicitudNueva); } if (datosBitacoraViewModel.FechaCompromisoAnterior != datosBitacoraViewModel.FechaCompromisoNueva) { if (datosBitacoraViewModel.FechaCompromisoAnterior != null) { message = message + string.Format("\nLa fecha de compromiso ha cambiado de '{0}' a '{1}'", datosBitacoraViewModel.FechaCompromisoAnterior, datosBitacoraViewModel.FechaCompromisoNueva); } else { message = message + string.Format("\nSe ha asignado la fecha de compromiso '{0}'", datosBitacoraViewModel.FechaCompromisoNueva); } } if (datosBitacoraViewModel.FechaCierreAnterior != datosBitacoraViewModel.FechaCierreNueva) { if (datosBitacoraViewModel.FechaCierreAnterior != null) { message = message + string.Format("\nLa fecha de cierre ha cambiado de '{0}' a '{1}'", datosBitacoraViewModel.FechaCierreAnterior, datosBitacoraViewModel.FechaCierreNueva); } else { message = message + string.Format("\nSe ha asignado la fecha de cierre '{0}'", datosBitacoraViewModel.FechaCierreNueva); } } var newBitacora = new BitacoraNecesidad() { NecesidadId = datosBitacoraViewModel.NecesidadId, TipoBitacora = (int)TipoBitacoraNecesidadEnum.Edicion, MensajeSistema = message, EstadoAnteriorId = datosBitacoraViewModel.EstadoAnteriorId, EstadoNuevoId = datosBitacoraViewModel.EstadoNuevoId, PerfilAnteriorId = datosBitacoraViewModel.PerfilAnteriorId, PerfilNuevoId = datosBitacoraViewModel.PerfilNuevoId, FechaSolicitudAnterior = datosBitacoraViewModel.FechaSolicitudAnterior, FechaSolicitudNueva = datosBitacoraViewModel.FechaSolicitudNueva, FechaCompromisoAnterior = datosBitacoraViewModel.FechaCompromisoAnterior, FechaCompromisoNueva = datosBitacoraViewModel.FechaCompromisoNueva, FechaCierreAnterior = datosBitacoraViewModel.FechaCierreAnterior, FechaCierreNueva = datosBitacoraViewModel.FechaCierreNueva, PersonaAsignadaAnterior = datosBitacoraViewModel.PersonaAsignadaAnterior, PersonaAsignadaNueva = datosBitacoraViewModel.PersonaAsignadaNueva, IsActivo = true, CreatedBy = userInfo.UsuarioId, Created = DateTime.Now, }; _bitacoraNecesidadRepository.Create(newBitacora); } catch { response.IsValid = false; response.ErrorMessage = ERROR_MESSAGE; } return(response); }