/// <summary> /// SE MODIFICA EL PEON SELECCIONADO EN LA BD /// </summary> /// <param name="peon"></param> /// <param name="id"></param> /// <returns></returns> public async Task ModificarPeon(Peon peon, string id) { try { if (peon != null && id != null) { peon.Id = new ObjectId(id); peon.Encriptar(peon); await DBRepositoryMongo<Peon>.UpdateAsync(peon.Id, peon, "Peones"); } 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> /// 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> /// recibe un peon encriptado y lo devuelve desencriptado /// </summary> /// <param name="peon"></param> /// <returns>peon desencriptado</returns> public Peon Desencriptar(Peon peon) { peon.Apellido = Seguridad.Desencriptar(peon.Apellido); peon.Direccion = Seguridad.Desencriptar(peon.Direccion); peon.Documento = Seguridad.Desencriptar(peon.Documento); peon.Nombre = Seguridad.Desencriptar(peon.Nombre); peon.Telefono = Seguridad.Desencriptar(peon.Telefono); return(peon); }
/// <summary> /// DEVUELVE EL PEON CON EL ID SOLICITADO /// </summary> /// <param name="idPeon"></param> /// <returns>PEON</returns> public async Task<Peon> getPeon(string idPeon) { try { Peon peon = await DBRepositoryMongo<Peon>.GetItemAsync(idPeon, "Peones"); peon = peon.Desencriptar(peon); return peon; } catch (MensajeException msg) { throw msg; } catch (Exception ex) { throw ex; } }
/// <summary> /// DEVUELVE UNA LISTA DE LOS PEONES QUE HAY EN EL SISTEMA /// </summary> /// <returns>LISTA PEON</returns> public async Task<List<Peon>> getPeones() { try { var items = await DBRepositoryMongo<Peon>.GetItemsAsync("Peones"); List<Peon> salida = new List<Peon>(); foreach(Peon p in items) { Peon peon = p.Desencriptar(p); salida.Add(p); } return salida; } catch(MensajeException msg) { throw msg; }catch(Exception ex) { throw ex; } }