コード例 #1
0
        public static Response <int> BloqueoAsiento(BloqueoAsientoRequest request)
        {
            try
            {
                var bloquearAsiento = new decimal();

                // Validar 'BloqueoAsiento'
                var validarBloqueoAsiento = BloqueoAsientoRepository.ValidarBloqueoAsiento(request.CodiProgramacion, request.NroViaje, request.CodiOrigen, request.CodiDestino, request.NumeAsiento.ToString(), request.FechaProgramacion);

                if (validarBloqueoAsiento)
                {
                    return(new Response <int>(false, int.Parse(bloquearAsiento.ToString()), Message.MsgValidaBloqueoAsiento, true));
                }
                else
                {
                    // ¿Existe Programación?
                    if (request.CodiProgramacion > 0)
                    {
                        // Bloquear 'AsientoProgramacion'
                        bloquearAsiento = BloqueoAsientoRepository.BloquearAsientoProgramacion(request.CodiProgramacion, request.NumeAsiento.ToString(), request.Precio, request.FechaProgramacion, request.CodiTerminal.ToString());
                    }
                    else
                    {
                        // Bloquear 'AsientoViaje'
                        bloquearAsiento = BloqueoAsientoRepository.BloquearAsientoViaje(request.NroViaje, request.NumeAsiento.ToString(), request.Precio, request.FechaProgramacion, request.CodiTerminal.ToString());
                    }
                }

                if (bloquearAsiento == 0)
                {
                    return(new Response <int>(false, int.Parse(bloquearAsiento.ToString()), Message.MsgValidaCeroBloqueoAsiento, true));
                }
                else
                {
                    return(new Response <int>(true, int.Parse(bloquearAsiento.ToString()), Message.MsgCorrectoBloqueoAsiento, true));
                }
            }
            catch (Exception ex)
            {
                Log.Instance(typeof(BloqueoAsientoLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex);
                return(new Response <int>(false, 0, Message.MsgExcBloqueoAsiento, false));
            }
        }
コード例 #2
0
        public static Response <List <int> > BloqueoAsientoList(BloqueoAsientoRequest request)
        {
            try
            {
                var asientosBloqueados = new List <int>();

                foreach (var e in request.NumeAsientos)
                {
                    var bloquearAsiento = new int();

                    // Validar 'BloqueoAsiento'
                    var validarBloqueoAsiento = BloqueoAsientoRepository.ValidarBloqueoAsiento(request.CodiProgramacion, request.NroViaje, request.CodiOrigen, request.CodiDestino, e.ToString(), request.FechaProgramacion);

                    if (!validarBloqueoAsiento)
                    {
                        // ¿Existe Programación?
                        if (request.CodiProgramacion > 0)
                        {
                            // Bloquear 'AsientoProgramacion'
                            bloquearAsiento = (int)BloqueoAsientoRepository.BloquearAsientoProgramacion(request.CodiProgramacion, e.ToString(), request.Precio, request.FechaProgramacion, request.CodiTerminal.ToString());
                        }
                        else
                        {
                            // Bloquear 'AsientoViaje'
                            bloquearAsiento = (int)BloqueoAsientoRepository.BloquearAsientoViaje(request.NroViaje, e.ToString(), request.Precio, request.FechaProgramacion, request.CodiTerminal.ToString());
                        }
                    }

                    if (bloquearAsiento != 0)
                    {
                        asientosBloqueados.Add(bloquearAsiento);
                    }
                }
                return(new Response <List <int> >(true, asientosBloqueados, string.Empty, true));
            }
            catch (Exception ex)
            {
                Log.Instance(typeof(BloqueoAsientoLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex);
                return(new Response <List <int> >(false, new List <int>(), Message.MsgBloquearAsientos, false));
            }
        }