public GenerateBitacoraNecesidadResponse GenerateBitacoraNecesidadManual(int necesidadId, string message)
        {
            var response = new GenerateBitacoraNecesidadResponse()
            {
                IsValid = true
            };

            try
            {
                var userInfo  = (UsuarioRolPermisoViewModel)HttpContext.Current.Session["Usuario"];
                var necesidad = _necesidadRepository.GetOne(x => x.NecesidadId == necesidadId);

                if ((userInfo == null) || (necesidad == null))
                {
                    response.IsValid      = false;
                    response.ErrorMessage = ERROR_MESSAGE;
                    return(response);
                }


                var newBitacora = new BitacoraNecesidad()
                {
                    NecesidadId             = necesidadId,
                    TipoBitacora            = (int)TipoBitacoraNecesidadEnum.Manual,
                    MensajeSistema          = message,
                    EstadoAnteriorId        = null,
                    EstadoNuevoId           = null,
                    PerfilAnteriorId        = null,
                    PerfilNuevoId           = null,
                    FechaSolicitudAnterior  = null,
                    FechaSolicitudNueva     = null,
                    FechaCompromisoAnterior = null,
                    FechaCompromisoNueva    = null,
                    FechaCierreAnterior     = null,
                    FechaCierreNueva        = null,
                    PersonaAsignadaAnterior = null,
                    PersonaAsignadaNueva    = null,
                    IsActivo  = true,
                    CreatedBy = userInfo.UsuarioId,
                    Created   = DateTime.Now,
                };

                _bitacoraNecesidadRepository.Create(newBitacora);
            }
            catch
            {
                response.IsValid      = false;
                response.ErrorMessage = ERROR_MESSAGE;
            }

            return(response);
        }
        public GenerateBitacoraNecesidadResponse GenerateBitacoraCreateNecesidad(int necesidadId)
        {
            var response = new GenerateBitacoraNecesidadResponse()
            {
                IsValid = true
            };

            try
            {
                var userInfo  = (UsuarioRolPermisoViewModel)HttpContext.Current.Session["Usuario"];
                var necesidad = _necesidadRepository.GetOne(x => x.NecesidadId == necesidadId);

                if ((userInfo == null) || (necesidad == null))
                {
                    response.IsValid      = false;
                    response.ErrorMessage = ERROR_MESSAGE;
                    return(response);
                }

                var message     = string.Format("La necesidad con referencia {0} fué creada por el usuario: '{1}' en la fecha: '{2}'", necesidadId, userInfo.Usuario, DateTime.Now);
                var newBitacora = new BitacoraNecesidad()
                {
                    NecesidadId             = necesidadId,
                    TipoBitacora            = (int)TipoBitacoraNecesidadEnum.Creacion,
                    MensajeSistema          = message,
                    EstadoAnteriorId        = null,
                    EstadoNuevoId           = necesidad.EstadoNecesidadId,
                    PerfilAnteriorId        = null,
                    PerfilNuevoId           = necesidad.TipoPerfilId,
                    FechaSolicitudAnterior  = null,
                    FechaSolicitudNueva     = necesidad.FechaSolicitud,
                    FechaCompromisoAnterior = null,
                    FechaCompromisoNueva    = necesidad.FechaCompromiso,
                    FechaCierreAnterior     = null,
                    FechaCierreNueva        = null,
                    IsActivo  = true,
                    CreatedBy = userInfo.UsuarioId,
                    Created   = DateTime.Now,
                };

                _bitacoraNecesidadRepository.Create(newBitacora);
            }
            catch
            {
                response.IsValid      = false;
                response.ErrorMessage = ERROR_MESSAGE;
            }

            return(response);
        }