Пример #1
0
        public string ModificarAdministrador(int _idEmpresa, UsuarioAdministrador _usuario)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var    empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);
            string mensaje = "";

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);

                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var admin = ctx.Administradores.Find(_usuario.ID);

                    if (admin != null)
                    {
                        admin.Nombre   = _usuario.Nombre;
                        admin.Apellido = _usuario.Apellido;
                        admin.Email    = _usuario.Email;
                        ctx.SaveChanges();
                        mensaje = "OK";
                    }
                    else
                    {
                        mensaje = "No existe el Administrador";
                    }
                }
            }
            else
            {
                mensaje = "No existe la Empresa";
            }
            return(mensaje);
        }
Пример #2
0
        public List <DTComision> ComisionesCobradasPorEmpresa()
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresas = controladorEmpresa.ListarEmpresas();
            List <DTComision> listado = new List <DTComision>();


            foreach (Empresa _empresa in empresas)
            {
                DTComision _dTComision = new DTComision();
                double     comision    = 0;

                var query = (from pago in _pagoAEmpresas.AsQueryable <PagoEmpresa>()
                             where pago.ViajeFinalizado.Pago == "SI" &&
                             pago.ViajeFinalizado.IdEmpresa == _empresa.ID
                             select pago).ToList();

                foreach (PagoEmpresa pago in query)
                {
                    comision += pago.Comision;
                }

                _dTComision.NombreEmpresa = _empresa.Nombre;
                _dTComision.Comision      = Math.Round(comision, 2);

                listado.Add(_dTComision);
            }

            return(listado);
        }
        public string SincronizarVehiculoDispositivo(int _idEmpresa, int _idVehiculo, string _imeiDispositivo)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var    empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);
            string mensaje;

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);
                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var vehiculo = ctx.Vehiculos.Find(_idVehiculo);
                    if (vehiculo != null)
                    {
                        vehiculo.Estado          = "Disponible";
                        vehiculo.ImeiDispositivo = _imeiDispositivo;
                        mensaje = "OK";
                        ctx.SaveChanges();
                    }
                    else
                    {
                        mensaje = "No existe el Vehiculo.";
                    }
                }
            }
            else
            {
                mensaje = "No existe la Empresa.";
            }

            return(mensaje);
        }
Пример #4
0
        public bool LoginAdministradorEmpresa(int _idEmpresa, string email, string password)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                string hash = String.Empty;
                using (var sha256 = SHA256.Create())
                {
                    var hashedBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(password));
                    hash = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
                }
                var usuario = (from u in ctx.Administradores
                               where u.Email == email && u.Password == hash
                               select u).FirstOrDefault <UsuarioAdministrador>();
                if (usuario != null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
        public int CantidadVehiculosPorTipo(int _idEmpresa, int _idTipoVehiculo)
        {
            int cantidad;
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);
                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var _vehiculos = (from v in ctx.Vehiculos
                                      where v.IdTipoVehiculo == _idTipoVehiculo
                                      orderby v.IdTipoVehiculo
                                      select v).ToList();

                    cantidad = _vehiculos.Count();
                }
            }
            else
            {
                cantidad = 0;
            }
            return(cantidad);
        }
Пример #6
0
        public int ObtenerComisionEmpresa(int _idEmpresa)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            return(empresa.Comision);
        }
        public List <DTCantVehTipo> ListarVehiculosTotalesPorTipo()
        {
            List <DTCantVehTipo>   listado = new List <DTCantVehTipo>();
            TipoVehiculoController controladorTipoVehiculo = new TipoVehiculoController();

            var tiposVehiculos = controladorTipoVehiculo.ListarTiposDeVehiculo();

            EmpresaController controladorEmpresa = new EmpresaController();
            var empresas = controladorEmpresa.ListarEmpresasActivas();

            foreach (TipoVehiculo _tipoVeh in tiposVehiculos)
            {
                DTCantVehTipo dtCantTipoVehiculo = new DTCantVehTipo();
                dtCantTipoVehiculo.NombreTipo = _tipoVeh.Nombre;

                foreach (Empresa _emp in empresas)
                {
                    dtCantTipoVehiculo.Cantidad += this.CantidadVehiculosPorTipo(_emp.ID, _tipoVeh.ID);
                }

                listado.Add(dtCantTipoVehiculo);
            }

            return(listado);
        }
Пример #8
0
        public AdministradorInicialEmpresa ObtenerAdministradorInicial(int _idEmpresa)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            return(empresa.AdministradorInicial);
        }
        public List <UbicacionVehiculo> ListaUbicacionVehiculosDisponibles()
        {
            EmpresaController  controladorEmpresa  = new EmpresaController();
            VehiculoController controladorVehiculo = new VehiculoController();

            List <dal.Empresa> empresas = controladorEmpresa.ListarEmpresas();

            List <UbicacionVehiculo> listado = new List <UbicacionVehiculo>();

            foreach (Empresa _emp in empresas)
            {
                List <Vehiculo> vehiculos = controladorVehiculo.ListarVehiculosDisponibles(_emp.ID);

                foreach (Vehiculo _veh in vehiculos)
                {
                    UbicacionVehiculo _ubicacion = this.UltimaUbicacion(_emp.ID, _veh.ID);
                    if (_ubicacion != null)
                    {
                        listado.Add(_ubicacion);
                    }
                }
            }

            return(listado);
        }
        public DTVehiculosListado ListarVehiculosPaginado(int _idEmpresa, int pagina, int cantidad)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);
            DTVehiculosListado paginado = new DTVehiculosListado();

            int calculo = cantidad * pagina;

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);

                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var _vehiculos = ctx.Vehiculos.ToList();
                    paginado.CantidadVehiculos = _vehiculos.Count();
                    //var totalPaginas = Math.Round(paginado.CantidadVehiculos / Convert.ToDouble(cantidad));
                    //paginado.TotalPaginas = Convert.ToInt32(totalPaginas);
                    //REDONDEO BIEN HACIA ARRIBA
                    var totalPaginas = paginado.CantidadVehiculos / Convert.ToDouble(cantidad);
                    paginado.TotalPaginas = Convert.ToInt32(Math.Ceiling(totalPaginas));
                    _vehiculos            = _vehiculos.Skip(calculo).Take(cantidad).ToList();

                    paginado.Vehiculos = _vehiculos;

                    return(paginado);
                }
            }
            else
            {
                return(null);
            }
        }
        public string AltaTipoDeVehiculo(int _idEmpresa, TipoVehiculoEmpresa _tipoDeVehiculo)
        {
            string mensaje;
            TipoVehiculoController controladorTipoVehiculo = new TipoVehiculoController();

            var tipoVehiculo = controladorTipoVehiculo.ObtenerTipoVehiculoPorNombre(_tipoDeVehiculo.Nombre);

            if (tipoVehiculo != null)
            {
                _tipoDeVehiculo.Nombre = tipoVehiculo.Nombre;

                EmpresaController controladorEmpresa = new EmpresaController();
                var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);

                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    ctx.TiposDeVehiculo.Add(_tipoDeVehiculo);
                    ctx.SaveChanges();
                }
                mensaje = "OK";
            }
            else
            {
                mensaje = "No existe tipo de vehiculo";
            }
            return(mensaje);
        }
Пример #12
0
        public List <DTPuntuacion> PuntuacionesPorEmpresa()
        {
            //PRIMERO TRAIGO TODOS LOS ID DE EMPRESAS
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresas = controladorEmpresa.ListarEmpresas();

            List <DTPuntuacion> listado = new List <DTPuntuacion>();

            foreach (Empresa empresa in empresas)
            {
                DTPuntuacion dTPunt           = new DTPuntuacion();
                int          sumaPuntuaciones = 0;
                int          contador         = 0;
                double       promedio;

                var query = (from pago in _pagoAEmpresas.AsQueryable <PagoEmpresa>()
                             where pago.ViajeFinalizado.Puntuacion != 0 && pago.ViajeFinalizado.IdEmpresa == empresa.ID
                             select pago).ToList();

                foreach (PagoEmpresa pagoEmpresa in query)
                {
                    sumaPuntuaciones += pagoEmpresa.ViajeFinalizado.Puntuacion;
                    contador++;
                }

                dTPunt.NombreEmpresa      = empresa.Nombre;
                promedio                  = (double)sumaPuntuaciones / (double)contador;
                dTPunt.PromedioPuntuacion = Math.Round(promedio, 1);
                listado.Add(dTPunt);
            }


            return(listado);
        }
Пример #13
0
        public DTCantPuntEmpresa CantPuntuacionPorEmpresa(int idEmpresa)
        {
            DTCantPuntEmpresa dTCantPunt = new DTCantPuntEmpresa();
            List <DTCantPunt> listado    = new List <DTCantPunt>();


            EmpresaController controladorEmpresa = new EmpresaController();

            dTCantPunt.NombreEmpresa = controladorEmpresa.ObtenerNombreEmpresa(idEmpresa);

            for (int i = 0; i <= 5; i++)
            {
                DTCantPunt dTCant = new DTCantPunt();
                var        query  = (from pago in _pagoAEmpresas.AsQueryable <PagoEmpresa>()
                                     where pago.ViajeFinalizado.Pago == "SI" &&
                                     pago.ViajeFinalizado.IdEmpresa == idEmpresa &&
                                     pago.ViajeFinalizado.Puntuacion == i
                                     select pago).ToList();

                dTCant.Cantidad = query.Count();
                dTCant.Puntaje  = i;

                listado.Add(dTCant);
            }
            dTCantPunt.Puntajes = listado;

            return(dTCantPunt);
        }
Пример #14
0
        public List <DTCantViajesEmpresas> ListaViajesEmpresaCantidad()
        {
            List <DTCantViajesEmpresas> listado            = new List <DTCantViajesEmpresas>();
            EmpresaController           controladorEmpresa = new EmpresaController();

            int contadorViajes = 0;
            int idEmpresa      = 0;
            int contadorTotal  = 0;

            var query = (from viaje in _viajes.AsQueryable <Viaje>()
                         orderby viaje.IdEmpresa
                         select viaje).ToList <Viaje>();

            int totalViajes = query.Count();

            if (query != null)
            {
                foreach (Viaje _viaje in query)
                {
                    contadorTotal++;
                    contadorViajes++;
                    if (idEmpresa != _viaje.IdEmpresa || (contadorTotal == totalViajes))
                    {
                        //CUANDO ES EL PRIMERO Y UNICO O EL ULTIMO DE LA LISTA
                        if ((contadorTotal + 1) > totalViajes)
                        {
                            DTCantViajesEmpresas empresaNueva = new DTCantViajesEmpresas();
                            empresaNueva.IdEmpresa      = _viaje.IdEmpresa;
                            empresaNueva.Nombre         = controladorEmpresa.ObtenerNombreEmpresa(_viaje.IdEmpresa);
                            empresaNueva.CantidadViajes = contadorViajes;
                            listado.Add(empresaNueva);
                            contadorViajes = 0;
                        }
                        else if (contadorViajes > 1)
                        {
                            DTCantViajesEmpresas empresaNueva = new DTCantViajesEmpresas();
                            empresaNueva.IdEmpresa      = idEmpresa;
                            empresaNueva.Nombre         = controladorEmpresa.ObtenerNombreEmpresa(idEmpresa);
                            empresaNueva.CantidadViajes = contadorViajes;
                            listado.Add(empresaNueva);
                            contadorViajes = 0;
                        }

                        idEmpresa = _viaje.IdEmpresa;
                    }

                    /* else
                    *  {
                    *    contadorViajes++;
                    *  }    */
                }
            }
            else
            {
                listado = null;
            }


            return(listado);
        }
        public void ModificarVehiculo(int _idEmpresa, Vehiculo _vehiculo)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                var _vehiculoAModificar = (ctx.Vehiculos.SingleOrDefault(v => v.ID == _vehiculo.ID));
                if (_vehiculoAModificar != null)
                {
                    _vehiculoAModificar.Codigo = _vehiculo.Codigo;
                    _vehiculoAModificar.Estado = _vehiculo.Estado;
                    //_vehiculoAModificar.TipoVehiculo.HorarioInicio = _vehiculo.TipoVehiculo.HorarioInicio;
                    //_vehiculoAModificar.TipoVehiculo.HorarioFin = _vehiculo.TipoVehiculo.HorarioFin;
                    //_vehiculoAModificar.TipoVehiculo.TarifaFija = _vehiculo.TipoVehiculo.TarifaFija;
                    //_vehiculoAModificar.TipoVehiculo.TarifaPorKm = _vehiculo.TipoVehiculo.TarifaPorKm;
                    //_vehiculoAModificar.TipoVehiculo.TarifaPorMinuto = _vehiculo.TipoVehiculo.TarifaPorMinuto;

                    ctx.SaveChanges();
                }
            }
        }
Пример #16
0
        public List <DTCantViajesEmpresas> ListaViajesPorEmpresaEstado(int idEmpresa)
        {
            List <DTCantViajesEmpresas> listado            = new List <DTCantViajesEmpresas>();
            EmpresaController           controladorEmpresa = new EmpresaController();
            string nombreEmpresa = controladorEmpresa.ObtenerNombreEmpresa(idEmpresa);

            int    contadorViajes = 0;
            int    contadorTotal  = 0;
            string estadoViaje    = " ";

            var query = (from viaje in _viajes.AsQueryable <Viaje>()
                         where viaje.IdEmpresa == idEmpresa
                         orderby viaje.Estado
                         select viaje).ToList <Viaje>();

            int totalViajes = query.Count();

            if (query != null)
            {
                foreach (Viaje _viaje in query)
                {
                    contadorTotal++;
                    contadorViajes++;
                    if (estadoViaje != _viaje.Estado || (contadorTotal == totalViajes))
                    {
                        //CUANDO ES EL PRIMERO Y UNICO O EL ULTIMO DE LA LISTA
                        if ((contadorTotal + 1) > totalViajes)
                        {
                            DTCantViajesEmpresas empresaNueva = new DTCantViajesEmpresas();
                            empresaNueva.IdEmpresa      = idEmpresa;
                            empresaNueva.Estado         = _viaje.Estado;
                            empresaNueva.Nombre         = nombreEmpresa;
                            empresaNueva.CantidadViajes = contadorViajes;
                            listado.Add(empresaNueva);
                            contadorViajes = 0;
                        }
                        else if (contadorViajes > 1)
                        {
                            DTCantViajesEmpresas empresaNueva = new DTCantViajesEmpresas();
                            empresaNueva.IdEmpresa      = idEmpresa;
                            empresaNueva.Estado         = estadoViaje;
                            empresaNueva.Nombre         = nombreEmpresa;
                            empresaNueva.CantidadViajes = contadorViajes;
                            listado.Add(empresaNueva);
                            contadorViajes = 0;
                        }

                        estadoViaje = _viaje.Estado;
                    }
                }
            }
            else
            {
                listado = null;
            }


            return(listado);
        }
        public void AgregarVehiculo(int _idEmpresa, Vehiculo _vehiculo)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                ctx.Vehiculos.Add(_vehiculo);
                ctx.SaveChanges();
            }
        }
Пример #18
0
        public List <UsuarioAdministrador> ListarAdministradores(int _idEmpresa)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                var _administradores = ctx.Administradores.ToList();
                return(_administradores);
            }
        }
        public TipoVehiculoEmpresa ObtenerTipoDeVehiculoPorNombre(int _idEmpresa, string _nombre)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);
            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                var tipo = (from u in ctx.TiposDeVehiculo
                            where u.Nombre == _nombre
                            select u).FirstOrDefault <TipoVehiculoEmpresa>();
                return(tipo);
            }
        }
        public void EliminarVehiculo(int _idEmpresa, int _idVehiculo)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                var _vehiculoABorrar = (ctx.Vehiculos.SingleOrDefault(v => v.ID == _idVehiculo));
                if (_vehiculoABorrar != null)
                {
                    ctx.Remove(_vehiculoABorrar);
                    ctx.SaveChanges();
                }
            }
        }
        public int ObtenerTarifaFijaTipoVehiculo(int idEmpresa, int idTipoVehiculo)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(idEmpresa);

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);
                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var tipoDeVehiculo = ctx.TiposDeVehiculo.Find(idTipoVehiculo);
                    return(tipoDeVehiculo.TarifaFija);
                }
            }
            else
            {
                return(0);
            }
        }
        public List <Vehiculo> ListarVehiculosDisponibles(int _idEmpresa)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            List <Vehiculo> listado = new List <Vehiculo>();

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                listado = (from u in ctx.Vehiculos
                           where u.Estado == "Disponible"
                           select u).ToList();

                return(listado);
            }
        }
        public Vehiculo ObtenerVehiculo(int _idEmpresa, int _idVehiculo)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);
                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var vehiculo = ctx.Vehiculos.Find(_idVehiculo);
                    return(vehiculo);
                }
            }
            else
            {
                return(null);
            }
        }
Пример #24
0
        public void AgregarAdministrador(int _idEmpresa, UsuarioAdministrador _usuario)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();

            optionsBuilder.UseSqlServer(empresa.Conexion);

            using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
            {
                using (var sha256 = SHA256.Create())
                {
                    var hashedBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(_usuario.Password));
                    var hash        = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
                    _usuario.Password = hash;
                }
                ctx.Administradores.Add(_usuario);
                ctx.SaveChanges();
            }
        }
Пример #25
0
        public string EliminarAdministrador(int _idEmpresa, int _idUsuario)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var    empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);
            string mensaje = "";

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);

                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var admin = ctx.Administradores.Find(_idUsuario);
                    ctx.Administradores.Remove(admin);
                    ctx.SaveChanges();
                    mensaje = "OK";
                }
            }
            return(mensaje);
        }
        public List <Vehiculo> ListarVehiculos(int _idEmpresa)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);

                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var _vehiculos = ctx.Vehiculos.ToList();
                    return(_vehiculos);
                }
            }
            else
            {
                return(null);
            }
        }
        public List <TipoVehiculoEmpresa> ListarTiposDeVehiculo(int _idEmpresa)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);

                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var _tiposDeDehiculo = ctx.TiposDeVehiculo.ToList();
                    return(_tiposDeDehiculo);
                }
            }
            else
            {
                return(null);
            }
        }
        public string ModificarTipoDeVehiculoEmpresa(int idEmpresa, TipoVehiculoEmpresa _tipoVehiculoEmpresa)
        {
            string            mensaje;
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(idEmpresa);

            if (empresa != null)
            {
                var optionsBuilder = new DbContextOptionsBuilder <MyContextEmpresa>();
                optionsBuilder.UseSqlServer(empresa.Conexion);
                using (var ctx = new MyContextEmpresa(optionsBuilder.Options))
                {
                    var tipoDeVehiculo = ctx.TiposDeVehiculo.Find(_tipoVehiculoEmpresa.ID);

                    if (tipoDeVehiculo != null)
                    {
                        tipoDeVehiculo.Nombre          = _tipoVehiculoEmpresa.Nombre;
                        tipoDeVehiculo.TarifaFija      = _tipoVehiculoEmpresa.TarifaFija;
                        tipoDeVehiculo.TarifaPorKm     = _tipoVehiculoEmpresa.TarifaPorKm;
                        tipoDeVehiculo.TarifaPorMinuto = _tipoVehiculoEmpresa.TarifaPorMinuto;
                        tipoDeVehiculo.HorarioInicio   = _tipoVehiculoEmpresa.HorarioInicio;
                        tipoDeVehiculo.HorarioFin      = _tipoVehiculoEmpresa.HorarioFin;

                        ctx.SaveChanges();
                        mensaje = "OK";
                    }
                    else
                    {
                        mensaje = "No existe Tipo Vehiculo";
                    }
                }
            }
            else
            {
                mensaje = "No existe la Empresa";
            }

            return(mensaje);
        }
Пример #29
0
        public bool LoginAdministradorInicial(int _idEmpresa, string _email, string _password)
        {
            EmpresaController controladorEmpresa = new EmpresaController();
            var empresa = controladorEmpresa.ObtenerEmpresa(_idEmpresa);

            var administradorInicial = empresa.AdministradorInicial;

            string hash = String.Empty;

            using (var sha256 = SHA256.Create())
            {
                var hashedBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(_password));
                hash = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
            }
            if (administradorInicial.Email == _email && administradorInicial.Password == hash)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #30
0
        public Viaje CancelarViaje(int idUsuario)
        {
            //OBTENGO EL ULTIMO VIAJE DEL USUARIO
            var query = (from viaje in _viajes.AsQueryable <Viaje>()
                         where viaje.IdUsuario == idUsuario
                         orderby viaje.FechaInicio descending
                         select viaje).FirstOrDefault();

            //VERIFICO QUE EL ULTIMO VIAJE DEL USUARIO ESTE FINALIZADO
            if (query.Estado == "Pendiente")
            {
                //OBTENGO EL VEHICULO
                bl.VehiculoController controladorVehiculo = new bl.VehiculoController();
                var vehiculo = controladorVehiculo.ObtenerVehiculo(query.IdEmpresa, query.IdVehiculo);

                //MODIFICO ESTADO DEL VEHICULO
                vehiculo.Estado = "Disponible";
                controladorVehiculo.ModificarVehiculo(query.IdEmpresa, vehiculo);

                query.Estado = "Cancelado";

                //ZONA HORARIA MONTEVIDEO
                TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Montevideo Standard Time");
                DateTime     cstTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, cstZone);

                DateTime fechaReserva = query.FechaInicio;

                TimeSpan diferencia = cstTime.Subtract(fechaReserva);
                //DOY 3 MINUTOS PARA CANCELAR EL VIAJE SIN COBRAR
                if (diferencia.TotalMinutes >= 3)
                {
                    //SE LE COBRA LA TARIFA FIJA DEL VEHICULO
                    TipoVehiculoEmpresaController controladorTipoVehiculoEmpresa = new TipoVehiculoEmpresaController();
                    query.Precio = controladorTipoVehiculoEmpresa.ObtenerTarifaFijaTipoVehiculo(query.IdEmpresa, vehiculo.IdTipoVehiculo);

                    //OBTENGO COMISION A COBRARLE A LA EMPRESA
                    bl.EmpresaController controladorEmpresa = new EmpresaController();
                    var comisionEmpresa = controladorEmpresa.ObtenerComisionEmpresa(query.IdEmpresa);

                    var montoFinalEmpresa = Math.Round(query.Precio - (query.Precio * comisionEmpresa / 100), 2);

                    PagoEmpresa _pagoEmpresa = new PagoEmpresa
                    {
                        ViajeFinalizado = query,
                        Comision        = Math.Round((query.Precio - montoFinalEmpresa), 2),
                        Acreditado      = "NO",
                        CobroEmpresa    = montoFinalEmpresa
                    };

                    _pagoAEmpresas.InsertOne(_pagoEmpresa);


                    //ENVIO DE MAIL AL USUARIO

                    UsuarioController controladorUsuario = new UsuarioController();
                    var usuario = controladorUsuario.ObtenerUsuario(query.IdUsuario);

                    var apiKey = System.Environment.GetEnvironmentVariable("SENDGRID_APIKEY");
                    var client = new SendGridClient(apiKey);

                    var msg = new SendGridMessage();

                    msg.SetFrom(new EmailAddress("*****@*****.**", "Urban_Move"));

                    var recipients = new List <EmailAddress>
                    {
                        new EmailAddress(usuario.Email, usuario.Nombre),
                    };
                    msg.AddTos(recipients);

                    msg.SetSubject("Viaje Cancelado");

                    var body = "Estimado/a " + usuario.Nombre + " " + usuario.Apellido + "\n\nLe agradecemos su preferencia!! \n\n" +
                               "Al pasarse del tiempo permitido para Cancelar, se genero un costo de $ " + query.Precio.ToString() + ".\n" +
                               "Correspondiente a la tarifa fija del vehiculo reservado.\n\n" +
                               "Puede ingresar en el enlace a continuacion para abonar y poder seguir utilizando nuestros servicios.\n\n" +
                               "Gestion de Pago: http://urbanmove.azurewebsites.net/pagar \n\n" +
                               "Utilizar PayPal: http://urbanmove.azurewebsites.net/pay \n\n" +
                               "Lo saluda atentamente el equipo de Urban Move.";

                    msg.AddContent(MimeType.Text, body);

                    var response = client.SendEmailAsync(msg);
                }

                //GRABO LOS CAMBIOS EN EL VIAJE
                this.Update(query.InternalId, query);

                return(query);
            }
            else
            {
                return(null);
            }
        }