/// <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; } }
/// <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; } }
/// <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)); } }
/// <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); } }