/// <summary> /// modifica un administrativo pasado como parametro /// </summary> /// <param name="usuario"></param> /// <param name="id"></param> /// <returns></returns> public async Task ModificarAdministrativo(Administrativo usuario, string id) { try { if (usuario != null && id!=null) { usuario.Id = new ObjectId(id); if (usuario.Ubicacion == null) { usuario.Ubicacion = new PosicionSatelital() { Latitud = "", Longitud = "" }; } usuario = usuario.Encriptar(usuario); await DBRepositoryMongo<Usuario>.UpdateAsync(usuario.Id, usuario, "Administrativos"); } else { throw new MensajeException("Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde"); } } catch(MensajeException msg) { throw msg; } catch (Exception ex) { throw ex; } }
/// <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; } }