Exemplo n.º 1
0
        /// <summary>
        /// SE CREA UN NUEVO PEON EN LA BD
        /// </summary>
        /// <param name="peon"></param>
        /// <returns></returns>
        public async Task CrearPeon(Peon peon)
        {
            try
            {
                Peon salida = null;
                Peon p = await DBRepositoryMongo<Peon>.GetPeon(Seguridad.Encriptar(peon.Documento), "Peones");
                if (p == null)
                {
                    salida = peon;
                    salida = salida.Encriptar(salida);
                    await DBRepositoryMongo<Peon>.Create(salida, "Peones");
                }
                else
                {
                    throw new MensajeException("Ya existe el peon");
                }

            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// ingresa un nuevo chofer al sistema y lo devuelve
 /// </summary>
 /// <param name="chofer"></param>
 /// <param name="libreta"></param>
 /// <returns>Chofer</returns>
 public async Task<Chofer> CrearChofer(Chofer chofer, LibretaDeConducir libreta)
 {
     Chofer salida = null;
     try
     {
         Chofer c = await DBRepositoryMongo<Chofer>.GetUsuario(chofer.User, "Choferes");
         if (c != null)
         {
             throw new MensajeException("El chofer ya existe");
         }
         else
         {
             salida = chofer;
             salida.Tipo = "Chofer";
             salida.Disponible = true;
             salida.LibretaDeConducir = libreta;
             salida.Leyenda = chofer.Numero + " - " + chofer.Nombre + " " + chofer.Apellido;
             if (salida.Ubicacion == null)
             {
                 salida.Ubicacion = new PosicionSatelital() { Latitud = "", Longitud = "" };
             }
             salida = salida.Encriptar(salida);
             await DBRepositoryMongo<Chofer>.Create(salida, "Choferes");
         }
         return salida;
     }
     catch(MensajeException msg)
     {
         throw msg;
     }catch(Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Inserta un cliente encriptado en la base de datos
        /// </summary>
        /// <param name="cliente"></param>
        /// <param name="tarjeta"></param>
        /// <returns></returns>
        public async Task CrearCliente(Cliente cliente, TarjetaDeCredito tarjeta)
        {
            try
            {
                Cliente salida = null;
                Usuario usuario = await DBRepositoryMongo<Usuario>.GetUsuario(Seguridad.Encriptar(cliente.User), "Usuarios");
                Cliente cli = await DBRepositoryMongo<Cliente>.GetUsuario(Seguridad.Encriptar(cliente.User), "Clientes");
                Chofer chofer = await DBRepositoryMongo<Chofer>.GetUsuario(Seguridad.Encriptar(cliente.User), "Choferes");
                if (usuario == null && cli == null && chofer == null)
                {
                    cliente.Tipo = "Cliente";
                    cliente.Tarjeta = tarjeta;
                    if (cliente.RazonSocial != null)
                    {
                        cliente.Leyenda = cliente.RazonSocial;
                    }
                    else
                    {
                        cliente.Leyenda = cliente.Nombre + " " + cliente.Apellido;
                        cliente.RazonSocial = "";

                    }
                    if (cliente.Rut == null)
                    {
                        cliente.Rut = "";
                    }
                    if (cliente.Ubicacion == null)
                    {
                        cliente.Ubicacion = new PosicionSatelital() { Latitud = "", Longitud = "" };
                    }
                    if (string.IsNullOrEmpty(cliente.Tarjeta.fVencimiento))
                    {
                        cliente.Tarjeta.fVencimiento = "";
                    }
                    if (string.IsNullOrEmpty(cliente.Tarjeta.Numero))
                    {
                        cliente.Tarjeta.Numero = "";
                    }
                    salida = cliente.Encriptar(cliente);
                    await DBRepositoryMongo<Cliente>.Create(salida, "Clientes");
                }
                else
                {
                    throw new MensajeException("Ya existe un usuario con ese nick");
                }
                
            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <JsonResult> RegistroChofer([FromBody] Chofer nuevo)
        {
            Usuario usu = await DBRepositoryMongo <Usuario> .GetUsuario(nuevo.User, "Usuarios");

            Usuario cliente = await DBRepositoryMongo <Cliente> .GetUsuario(nuevo.User, "Clientes");

            Usuario chofer = await DBRepositoryMongo <Chofer> .GetUsuario(nuevo.User, "Choferes");

            if (cliente == null && usu == null && chofer == null)
            {
                await DBRepositoryMongo <Chofer> .Create(nuevo, "Choferes");

                return(Json(nuevo));
            }
            else
            {
                return(Json(null));
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// crea un usuario administrativo
 /// </summary>
 /// <param name="usuario"></param>
 /// <param name="administrador"></param>
 /// <returns>el administrativo creado</returns>
 public async Task<Usuario> CrearAdministrativo(Administrativo usuario, bool administrador)
 {
     try
     {
         Usuario salida = null;
         Usuario u = await DBRepositoryMongo<Usuario>.GetUsuario(Seguridad.Encriptar(usuario.User), "Administrativos");
         if (u != null)
         {
             throw new MensajeException("El usuario ya existe");
         }
         else
         {
             if (usuario.Ubicacion == null)
             {
                 usuario.Ubicacion = new PosicionSatelital() { Latitud = "", Longitud = "" };
             }
             Administrativo nuevo = new Administrativo();
             nuevo = usuario;
             nuevo.Tipo = "Administrador";
             if (administrador)
             {
                 nuevo.Administrador = true;
             }
             else
             {
                 nuevo.Administrador = false;
             }
             nuevo = nuevo.Encriptar(nuevo);
             await DBRepositoryMongo<Usuario>.Create(nuevo, "Administrativos");
             salida = nuevo;
         }
         return salida;
     }
     catch (MensajeException msg)
     {
         throw msg;
     }
     catch(Exception ex)
     {
         throw ex;
     }
 }
        public async Task <JsonResult> RegistroCliente([FromBody] Cliente cliente)
        {
            Cliente cli = await DBRepositoryMongo <Cliente> .GetUsuario(cliente.User, "Clientes");

            Chofer chofer = await DBRepositoryMongo <Chofer> .GetUsuario(cliente.User, "Choferes");

            Usuario usu = await DBRepositoryMongo <Usuario> .GetUsuario(cliente.User, "Usuarios");

            if (cli == null && chofer == null && usu == null)
            {
                Cliente nuevo = cliente;
                await DBRepositoryMongo <Cliente> .Create(nuevo, "Clientes");

                return(Json(nuevo));
            }
            else
            {
                return(Json(null));
            }
        }
        /// <summary>
        /// guarda un nuevo vehiculo con o sin chofer. si no tiene chofer no queda disponible
        /// </summary>
        /// <param name="vehiculo"></param>
        /// <param name="idChofer"></param>
        /// <returns></returns>
        public async Task nuevoVehiculo(Vehiculo vehiculo, string idChofer)
        {
            try
            {
                if (vehiculo != null && !idChofer.Equals("000000000000000000000000"))
                {
                    Chofer chofer = await getChofer(idChofer);

                    chofer.Disponible   = false;
                    chofer              = chofer.Encriptar(chofer);
                    vehiculo.Chofer     = chofer;
                    vehiculo.Disponible = true;
                    vehiculo.Unidades   = calcularUnidades(vehiculo.Largo, vehiculo.Ancho, vehiculo.Alto);
                    Tarifa t = await ControladoraViajes.getInstancia(_settings).obtenerUltimaTarifa();

                    if (vehiculo.Tipo.Equals(TipoVehiculo.Camioneta))
                    {
                        vehiculo.Tarifa = t.Camioneta;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.CamionChico))
                    {
                        vehiculo.Tarifa = t.CamionChico;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.Camion))
                    {
                        vehiculo.Tarifa = t.Camion;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.CamionGrande))
                    {
                        vehiculo.Tarifa = t.CamionGrande;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.CamionMudanza))
                    {
                        vehiculo.Tarifa = t.CamionMudanza;
                    }
                    await DBRepositoryMongo <Vehiculo> .Create(vehiculo, "Vehiculos");

                    Vehiculos.Add(vehiculo);
                    await DBRepositoryMongo <Chofer> .UpdateAsync(chofer.Id, chofer, "Choferes");
                }
                else if (vehiculo != null && idChofer.Equals("000000000000000000000000"))
                {
                    Tarifa t = await ControladoraViajes.getInstancia(_settings).obtenerUltimaTarifa();

                    if (vehiculo.Tipo.Equals(TipoVehiculo.Camioneta))
                    {
                        vehiculo.Tarifa = t.Camioneta;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.CamionChico))
                    {
                        vehiculo.Tarifa = t.CamionChico;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.Camion))
                    {
                        vehiculo.Tarifa = t.Camion;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.CamionGrande))
                    {
                        vehiculo.Tarifa = t.CamionGrande;
                    }
                    if (vehiculo.Tipo.Equals(TipoVehiculo.CamionMudanza))
                    {
                        vehiculo.Tarifa = t.CamionMudanza;
                    }
                    vehiculo.Chofer     = new Chofer();
                    vehiculo.Disponible = false;
                    vehiculo.Unidades   = calcularUnidades(vehiculo.Largo, vehiculo.Ancho, vehiculo.Alto);
                    await DBRepositoryMongo <Vehiculo> .Create(vehiculo, "Vehiculos");

                    Vehiculos.Add(vehiculo);
                }
                else
                {
                    throw new MensajeException("Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde");
                }
            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception e)
            {
                throw (e);
            }
        }