Пример #1
0
        public AdministracionWCF()
        {
            unityContainer = new UnityContainer();
            string connString = WebConfigurationManager.ConnectionStrings["LeandroContext"].ConnectionString;

            unityContainer.RegisterInstance("conectionString", connString, new ContainerControlledLifetimeManager());
            unityContainer.RegisterType <IDbContext, LeandroContext>(new InjectionConstructor(new ResolvedParameter <string>("conectionString")));
            unityContainer.RegisterType <ICorreoService, CorreoService>(new InjectionConstructor(appSettings["smtpEmailHost"], appSettings["smtpEmailPort"], appSettings["smtpEmailAccount"], appSettings["smtpEmailPass"], appSettings["smtpSSLHost"]));
            unityContainer.RegisterType <IServerMailService, ServerMailService>(new InjectionConstructor(appSettings["pop3EmailHost"], appSettings["pop3EmailPort"]));
            unityContainer.RegisterType <IFacturacionService, FacturacionService>();
            unityContainer.RegisterType <IMantenimientoService, MantenimientoService>();
            unityContainer.RegisterType <IReporteService, ReporteService>();
            servicioEnvioCorreo     = unityContainer.Resolve <ICorreoService>();
            servicioRecepcionCorreo = unityContainer.Resolve <IServerMailService>();
            servicioFacturacion     = unityContainer.Resolve <IFacturacionService>();
            servicioMantenimiento   = unityContainer.Resolve <IMantenimientoService>();
            servicioReportes        = unityContainer.Resolve <IReporteService>();
        }
Пример #2
0
 public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
 {
     try
     {
         if (!request.Properties["Via"].ToString().Contains("AdministracionWCF.svc"))
         {
             servicioMantenimiento = unityContainer.Resolve <IMantenimientoService>();
             bool modoMantenimiento = servicioMantenimiento.EnModoMantenimiento();
             if (modoMantenimiento)
             {
                 throw new Exception("El sistema se encuentra en modo mantenimiento y no es posible procesar su solicitud.");
             }
         }
         string strOperacion = request.Properties["HttpOperationName"].ToString();
         if (!new string[] { "", "ObtenerUltimaVersionMobileApp", "ObtenerUltimaVersionApp", "DescargarActualizacion", "LimpiarRegistrosInvalidos", "ProcesarDocumentosElectronicosPendientes", "ValidarCredencialesAdmin", "ValidarCredenciales", "ObtenerListadoEmpresasAdministrador", "ObtenerListadoEmpresasPorTerminal", "ObtenerListadoTerminalesDisponibles", "RegistrarTerminal" }.Contains(strOperacion))
         {
             IncomingWebRequestContext incomingRequest = WebOperationContext.Current.IncomingRequest;
             WebHeaderCollection       headers         = incomingRequest.Headers;
             string strToken = headers["Authorization"];
             if (strToken == null)
             {
                 throw new Exception("La sessión del usuario no es válida. Debe reiniciar su sesión.");
             }
             strToken = strToken.Substring(7);
             servicioMantenimiento = unityContainer.Resolve <IMantenimientoService>();
             servicioMantenimiento.ValidarRegistroAutenticacion(strToken, StaticRolePorUsuario.USUARIO_SISTEMA);
         }
         var httpRequest = (HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name];
         return(new
         {
             origin = httpRequest.Headers["Origin"],
             handlePreflight = httpRequest.Method.Equals("OPTIONS", StringComparison.InvariantCultureIgnoreCase)
         });
     }
     catch (Exception ex)
     {
         throw new WebFaultException <string>(ex.Message, HttpStatusCode.InternalServerError);
     }
 }
Пример #3
0
 public MantenimientoController(IMantenimientoService MantenimientoService)
 {
     _MantenimientoService = MantenimientoService;
 }