Esempio n. 1
0
    def insert(cls, meeiro_id: int, entry_date: datetime, entry_type_id: int,
               entry_value: float, description: str, db_session: Session):
        """
        :raises RowNotFound: caso de valores inválidos como meeiro e tipo de lançamento
        :param meeiro_id:
        :param entry_date:
        :param entry_type_id:
        :param entry_value:
        :param description:
        :param db_session:
        :return:
        """

        meeiro = Meeiro.get_meeiro(db_connection=db_session, id_=meeiro_id)
        entry_type = EntryTypeModel.get_entry_type(db_connection=db_session,
                                                   id_=entry_type_id)

        entry = EntryMapping()
        entry.meeiro_id = meeiro.id
        entry.entry_date = entry_date
        entry.entry_type = entry_type.id
        entry.entry_value = entry_value
        entry.description = description

        db_session.add(entry)
        db_session.commit()
Esempio n. 2
0
    def test__get_meeiro_by_cpf__expect_none(self):
        connection = Connection('postgres', 'root', '127.0.0.1:5432',
                                'planting_manager_teste')
        create_meeiro(name='tadeu', cpf='55584447213', rg='50658045x')

        m = Meeiro.get_meeiro(connection.session(), cpf='whatever')
        connection.session().close_all()

        self.assertIsNone(m)
Esempio n. 3
0
    def test__get_meeiro_by_cpf__expect_correct_instance(self):
        connection = Connection('postgres', 'root', '127.0.0.1:5432',
                                'planting_manager_teste')
        create_meeiro(name='tadeu', cpf='55584447213', rg='50658045x')
        m = Meeiro.get_meeiro(connection.session(), cpf='55584447213')
        connection.session().close_all()

        self.assertEqual(m.name, 'tadeu')
        self.assertEqual(m.rg, '50658045x')
Esempio n. 4
0
    def get_filters_to_query_entry(db_session: Session,
                                   meeiro_id: int = None,
                                   date_filter: DateRange = None,
                                   entry_type_id: int = None,
                                   filter_value: NumValueLimit = None) -> List:
        filters = []
        if meeiro_id:
            meeiro = Meeiro.get_meeiro(db_connection=db_session, id_=meeiro_id)
            filters.append(EntryMapping.meeiro_id == meeiro.id)
        if entry_type_id:
            entry_type = EntryTypeModel.get_entry_type(
                db_connection=db_session, id_=entry_type_id)
            filters.append(EntryMapping.entry_type == entry_type.id)

        if date_filter:
            filters.append(date_filter.get_filter(EntryMapping.entry_date))

        if filter_value:
            filters.append(filter_value.get_filter(EntryMapping.entry_value))

        return filters
Esempio n. 5
0
 def get_meeiro(self, id_: int = None, cpf: str = None) -> MeeiroDto:
     m = Meeiro.get_meeiro(db_connection=self.db_connection,
                           id_=id_,
                           cpf=cpf)
     return MeeiroDto(name=m.name, cpf=m.cpf, rg=m.rg, id_=m.id)