예제 #1
0
        public ConsultarMantenimientoResponseDTO ConsultarMantenimiento(ConsultarMantenimientoRequestDTO request)
        {
            ManejadorLog manejadorLog = new ManejadorLog();

            manejadorLog.GrabarLog(request.FechaFin.ToString());
            manejadorLog.GrabarLog(request.FechaFin.ToString());

            ConsultarMantenimientoResponseDTO result = new ConsultarMantenimientoResponseDTO();

            try
            {
                FichaMantenimientoBL mantenimiento = new FichaMantenimientoBL();
                result = mantenimiento.ConsultarMantenimiento(request);
            }
            catch (ResultException ex)
            {
                ManejadorExcepciones.PublicarExcepcion(string.Format("{0}: {1}", MethodBase.GetCurrentMethod().Name,
                                                                     ex.Result.Mensaje));
                ex.Result.Satisfactorio = false;
                result.Result           = ex.Result;
            }
            catch (Exception ex)
            {
                ManejadorExcepciones.PublicarExcepcion(ex, PoliticaExcepcion.ServicioWCF);
                result.Result = new Result
                {
                    Satisfactorio = false,
                    Mensaje       = "Ocurrio un problema interno en el servicio",
                    IdError       = Guid.NewGuid()
                };
            }
            return(result);
        }
예제 #2
0
        protected void Session_Start(object sender, EventArgs e)
        {
            if (HttpContext.Current.User != null)
            {
                //Si el usuario esta Autenticado
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    string usuariosession = "";
                    try
                    {
                        usuariosession = User.Identity.Name;

                        FormsAuthentication.SetAuthCookie(User.Identity.Name, false);

                        HelperSeguridad.SetUsuarioRed(User.Identity.Name);
                        ManejadorLog log = new ManejadorLog();
                        log.RegistrarEvento(string.Format("usuario = {0}", User.Identity.Name));
                    }
                    catch (Exception ex)
                    {
                        HelperEnviarCorreo.CrearLog("Session_Start error:" + ex.Message + ", user: " + usuariosession);
                    }
                }
            }
            else
            {
                string myself = HelperSeguridad.GetUsuarioRed();
                FormsAuthentication.SetAuthCookie(myself, false);
            }
        }
예제 #3
0
        static void Main()
        {
            var objProceso = System.Diagnostics.Process.GetProcessesByName("OdooConnectFiscal");
            var otro       = objProceso;

            if (objProceso.Count() > 1)
            {
                MessageBox.Show("Ya se encuentra ejecutando la aplicación.", STR_ERROR, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            ManejadorLog.InicializarLog("OdooConnectFiscal");
            ManejadorLog.Log.Info("Iniciando OdooConnectFiscal");
            CargarConexionXML();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            InicializarIcono();

            objFactura = new Factura();

            if (objFactura.IsDisposed)
            {
                Application.Exit();
            }
            else
            {
                Icono_DoubleClick(null, null);

                Application.Run();
            }
        }
예제 #4
0
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            try
            {
                if (!filterContext.HttpContext.Request.IsAjaxRequest())
                {
                    filterContext.HttpContext.Response.StatusCode = filterContext.RequestContext.HttpContext.Response.StatusCode;
                    if (filterContext.RequestContext.HttpContext.Response.StatusCode == 440)
                    {
                        filterContext.Result = new RedirectResult("/");
                        //la session ha expirado
                        //filterContext.RequestContext.HttpContext.Response.Redirect("/");
                        //filterContext.RequestContext.HttpContext.Response.End();
                    }
                    else
                    {
                        //filterContext.Result = new RedirectResult("/es-PE/pagina-de-error");
                        filterContext.Result = new RedirectResult("/es-PE/pagina-de-acceso-no-autorizado");
                    }
                }
                else
                {
                    filterContext.HttpContext.Response.StatusCode = filterContext.RequestContext.HttpContext.Response.StatusCode;
                    if (filterContext.RequestContext.HttpContext.Response.StatusCode == 440)
                    {
                        //la session ha expirado
                        filterContext.HttpContext.Response.StatusCode = 440;
                        filterContext.HttpContext.Response.Write("la session ha expirado");
                        filterContext.HttpContext.Response.End();
                    }
                    else
                    {
                        filterContext.HttpContext.Response.StatusCode = 500;
                        filterContext.HttpContext.Response.Write("ocurrió un error interno");
                        filterContext.HttpContext.Response.End();
                    }
                }
                filterContext.HttpContext.Response.SuppressFormsAuthenticationRedirect = true;

                //filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "es-PE", action = "pagina-de-error" }));
            }
            catch (Exception ex)
            {
                ManejadorLog log = new ManejadorLog();
                //log.RegistrarEvento(ex.Mensaje);
                //log.RegistrarEvento(ex.StackTrace);
                throw;
            }
            //filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Error", action = "AccesoDenegado" }));
        }
예제 #5
0
        public void OnException(ExceptionContext filterContext)
        {
            if (filterContext.ExceptionHandled)
            {
                return;
            }

            //TODO: Grabar en Log
            ManejadorLog manejadorLog = new ManejadorLog();

            manejadorLog.GrabarLog(filterContext.Exception.Message + " - " + filterContext.Exception.StackTrace);
            filterContext.Result           = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Error", action = "Error" }));
            filterContext.ExceptionHandled = true;
            filterContext.HttpContext.Response.Clear();
            filterContext.HttpContext.Response.StatusCode             = 500;
            filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
        }
예제 #6
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            bool autenticado = false;

            var    routeDataTemp  = httpContext.Request.RequestContext.RouteData;
            string controllerTemp = Convert.ToString(routeDataTemp.Values["controller"]);
            string actionTemp     = Convert.ToString(routeDataTemp.Values["action"]);

            //string UsuarioPorDefecto = System.Configuration.ConfigurationManager.AppSettings["UsuarioPorDefecto"].ToString();
            if (httpContext.Response.StatusCode == 440)
            {
                return(false);
            }

            ManejadorLog manejadorLog = new ManejadorLog();

            if (ValidarAutorizacion)
            {
                if (httpContext.User.Identity.IsAuthenticated) //|| UsuarioPorDefecto.Length > 0)
                {
                    //COMENTADO POR AHORA
                    //CuentaController cuentaController = new CuentaController();

                    string usuarioLogueado = httpContext.User.Identity.Name;

                    manejadorLog.GrabarLog("Usuario Autenticado:" + usuarioLogueado);

                    ResponseUsuarioMscDTO usuario = HelperSeguridad.GetUsuario();



                    //Primera vez que se logea el usuario o session expiró
                    if (usuario == null)
                    {
                        manejadorLog.GrabarLog("Usuario es null");

                        //COMENTADO POR AHORA
                        //autenticado = cuentaController.ValidarAutenticacion(usuarioLogueado, httpContext);
                        //autenticado = true;

                        //if (autenticado)
                        //{
                        //    manejadorLog.GrabarLog("Usuario es Autenticado");

                        //    if (ValidarAutorizacion)
                        //    {
                        //        string opcionValidar = Opcion;

                        //        if (String.IsNullOrEmpty(opcionValidar))
                        //        {
                        //            var routeData = httpContext.Request.RequestContext.RouteData;
                        //            string controller = Convert.ToString(routeData.Values["controller"]);
                        //            string action = Convert.ToString(routeData.Values["action"]);

                        //            opcionValidar = action;
                        //        }
                        //        //COMENTADO POR AHORA
                        //        autenticado = HelperSeguridad.GetUsuario().Usuario.Permisos.Contains(opcionValidar);//cuentaController.ValidarAutorizacion(opcionValidar);
                        //    }
                        //}
                    }
                    else
                    {
                        manejadorLog.GrabarLog("Usuario no es null");

                        manejadorLog.GrabarLog("Usuario Sesion: " + usuario.Usuario.CodigoUsuario);

                        if (usuario.Usuario.CodigoUsuario.ToUpper() != usuarioLogueado.ToUpper())
                        {
                            manejadorLog.GrabarLog("Usuario Sesion: " + usuario.Usuario.CodigoUsuario);

                            manejadorLog.GrabarLog("Usuario Logueado: " + usuarioLogueado.ToUpper());
                            //COMENTADO POR AHORA
                            //autenticado = cuentaController.ValidarAutenticacion(usuarioLogueado, httpContext);
                        }
                        else
                        {
                            if (ValidarAutorizacion)
                            {
                                string opcionValidar = Opcion;

                                if (String.IsNullOrEmpty(opcionValidar))
                                {
                                    var    routeData  = httpContext.Request.RequestContext.RouteData;
                                    string controller = Convert.ToString(routeData.Values["controller"]);
                                    string action     = Convert.ToString(routeData.Values["action"]);

                                    opcionValidar = action;
                                }
                                //COMENTADO POR AHORA
                                autenticado = HelperSeguridad.GetUsuario().Usuario.Permisos.Contains(opcionValidar);//autenticado = cuentaController.ValidarAutorizacion(opcionValidar);
                            }
                            else
                            {
                                autenticado = true;
                            }
                        }
                    }
                }
            }
            else
            {
                autenticado = true;
            }

            return(autenticado);
        }
예제 #7
0
        static void Main(string[] args)
        {
            ManejadorLog manejador = new ManejadorLog();

            try
            {
                CarcoolBL                  carcoolBL        = new CarcoolBL();
                CarCoolProxy               proxy            = new CarCoolProxy();
                RequestCarCool             request          = new RequestCarCool();
                ResponseCarCool            response         = new ResponseCarCool();
                RecaladasPendientes        pend             = new RecaladasPendientes();
                Contenedores               ContenedoresList = new Contenedores();
                List <Contenedores>        contenedores     = new List <Contenedores>();
                List <RecaladasPendientes> PendientesList   = new List <RecaladasPendientes>();
                Console.WriteLine("Consultando Naves Pendiente");

                List <RecaladasPendientes> listapendientes = carcoolBL.ListarPendientes();

                // Mensaje que diga: Naves pendientes de envío = {0}
                Console.WriteLine("Naves pendientes de envio = " + listapendientes.Count());

                foreach (RecaladasPendientes ent in listapendientes)
                {
                    // Obtener detalle de envio - Recalada: {recalada}

                    Console.WriteLine("Detalles de envio - Recalada : " + ent.Recalada.ToString());

                    List <DetalleRecalada> listviajes = carcoolBL.ListarDetallesdeEnvio(ent);

                    request.Recalada             = listviajes.FirstOrDefault().Recalada;
                    request.Manifiesto           = listviajes.FirstOrDefault().Manifiesto;
                    request.Nave                 = listviajes.FirstOrDefault().Nave;
                    request.Viaje                = listviajes.FirstOrDefault().Viaje;
                    request.Operador             = listviajes.FirstOrDefault().Operador;
                    request.FechaArribo          = listviajes.FirstOrDefault().FechaArribo.ToString("yyyy-MM-dd HH:mm:ss");
                    request.FechaTerminoDescarga = listviajes.FirstOrDefault().FechaTerminoDescarga.ToString("yyyy-MM-dd HH:mm:ss");
                    request.FechaCutOffDry       = listviajes.FirstOrDefault().FechaCutOffdry.ToString("yyyy-MM-dd HH:mm:ss");
                    request.FechaCutOffReefer    = listviajes.FirstOrDefault().FechaCutOffReefer.ToString("yyyy-MM-dd HH:mm:ss");
                    request.FechaZarpe           = listviajes.FirstOrDefault().FechaZarpe.ToString("yyyy-MM-dd HH:mm:ss");
                    request.TipoOperacion        = listviajes.FirstOrDefault().TipoOperacion;

                    //Cantidad de contenedores por enviar: {0}
                    Console.WriteLine("Cantidad de contenedores por enviar : " + listviajes.Count());
                    foreach (DetalleRecalada conten in listviajes)
                    {
                        //para que vuelva a refresacar los datos
                        Contenedores item = new Contenedores();
                        item.Contenedor     = conten.Contenedor;
                        item.Tipo           = conten.Tipo;
                        item.BlBooking      = conten.BlBooking;
                        item.Consignatario  = conten.Consignatario;
                        item.TipoContenedor = conten.TipoContenedor;
                        item.Dimension      = conten.Dimension;
                        item.Condicion      = conten.Condicion;
                        item.Peso           = conten.Peso;
                        item.Temperatura    = conten.Temperatura;
                        item.Imo            = conten.Imo;
                        item.Iqbf           = conten.Iqbf;
                        item.SINI           = conten.SINI;
                        item.Conexion       = conten.Conexion;

                        //guarda
                        contenedores.Add(item);
                    }
                    //ejecuta
                    request.Contenedores = contenedores;

                    // inicio envio a servicio carcool
                    Console.WriteLine("Se inicio el envio a servicio Carcool");
                    response = proxy.GenerarServicios(request);

                    if (response.success == true)
                    {
                        // Servicio respondio con exito
                        Console.WriteLine("Servicio respondido con exito");

                        // ACTUALIZAR ESTADO ENVIO

                        manejador.GrabarLog("Mensaje exitoso...");
                    }
                    else
                    {
                        //servicio respondio con error
                        Console.WriteLine("Servicio respondido con error");
                        manejador.GrabarLog("Algun otro problema");
                    }
                }
                {
                    manejador.GrabarLog("Error en los servicios");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
            // Fin de proceso detalle
            Console.WriteLine("Fin de proceso detalle");
        }