Gestione Documenti

di il
51 risposte

Gestione Documenti

Ciao a tutti nel mio database sto creando la mia tabella Documenti...
Ora all'inizio avevo abbinato una tabella pagamenti che conterrebbe i pagamenti relativi ai documenti....

poi mi sono accorto che, volendo uno potrebbe decidere di stipulare un contratto...
e successivamente effettuare dei pagamenti su di esso ottenendo le relative ricevute....

che io gestisco in modo simile ad una fattura (ho una ASD... e ai soci si emette fattura e non ricevuta...)

Quindi Un contratto(Tabella Documento) => Tanti pagamenti(Tabella Pagamenti)Ogni singolo pagamento ha una ricevuta(Tabella Documento)

Quindi se ha senso vorrei che la tabella pagamenti contenesse Un campo (DocumentoOrigine) ed uno (Documento di Pagamento)

Domanda n° 1 Ha senso ???
Domanda n° 2 come potrei creare la con EF visto che puntualmente ottengo conflitti??

Il ragionamento è un po' come quello che succede coi DDT dove i DDT hanno un valore...
poi ci sono le fatture di riepilogo e le fatture immediate a se stanti che non hanno nessun DDT...

ma non vedo motivo per creare tabelle diverse...

se sono stato poco chiaro chiedo venia...
(spero di essere nella sezione giusta ero indeciso tra quella .NET e questa ma penso il mio problema sia principalmente a livello progettuale...)

    public class Payment
    {
        [Key]
        public int PaymentId { get; set; }
        public DateTime Date { get; set; }

        public DateTime DateExp { get; set; }
        public string Description { get; set; }

        public float Amount { get; set; }

        //Relazioni
        public int CashId { get; set; }
        public Cash Cashes { get; set; }

        public int? DocumentId { get; set; }
        public int? DocumentofPaymentId { get; set; }
    }
    
        public class Document
    {
        [Key]
        [Required]
        public int DocumentId { get; set; }
        public string DocumentNumber { get; set; }
        public TypeDocument DocumentType { get; set; }
        public DateTime Date { get; set; }
        public string Description { get; set; }
        //
        [Required]
        public int PersonId { get; set; }
        public Person Person { get; set; }
        [Required]
        public int AddressId { get; set; }
        public Address Address { get; set; }
        //
        public virtual ICollection<DocRow> BodyRows { get; set; }
        public virtual ICollection<Payment> PaymentsToDo { get; set; }
    }
}

51 Risposte

  • Re: Gestione Documenti

    Non esistono più le fatture differite.
    sono tutte td01 fatture e basta


    Per il resto francamente è difficile decifrare
  • Re: Gestione Documenti

    Siamo nella sezione "Progettazione database" del forum.
    Descrivi dettagliatamente in questo modo:
    - specifica di che tipo di Documenti stai parlando
    - nomi propri di tutte le tue tabelle
    - nomi propri di tutti i loro campi con indicazione della chiave primaria
    - le relazioni
  • Re: Gestione Documenti

    Emadragon ha scritto:


    (spero di essere nella sezione giusta ero indeciso tra quella .NET e questa ma penso il mio problema sia principalmente a livello progettuale...)
    
        public class Payment
    }
    Se è a livello progettuale, cosa c'entra la classe in .NET?
    Nulla.
  • Re: Gestione Documenti

    Potresti creare un diagramma del database in SqlServer e postare quello , per creare le classi .net partendo dal db puoi usare la modalità "DatabaseFirst"
  • Re: Gestione Documenti

    Ai ma sto usando sqlite...
    e a quel che sembra non va d'accordo con database first...
  • Re: Gestione Documenti

    Non l'ho provato anzi se lo provi fai sapere come và :https://www.devart.com/dotconnect/sqlite/docs/EFCore-Database-First.html , in ogni caso il diagramma con sqlserver dovrebbe rendere più chiara la situazione
  • Re: Gestione Documenti

    gibra ha scritto:


    Emadragon ha scritto:


    (spero di essere nella sezione giusta ero indeciso tra quella .NET e questa ma penso il mio problema sia principalmente a livello progettuale...)
    
        public class Payment
    }
    Se è a livello progettuale, cosa c'entra la classe in .NET?
    Nulla.
    penso di non essere in grado id configurare le fluent API ma obiettivamente mi domando se il miio modello sia giusto o meno
  • Re: Gestione Documenti

    gian82 ha scritto:


    Non l'ho provato anzi se lo provi fai sapere come và :https://www.devart.com/dotconnect/sqlite/docs/EFCore-Database-First.html , in ogni caso il diagramma con sqlserver dovrebbe rendere più chiara la situazione
    provo e ti dico
  • Re: Gestione Documenti

    OsvaldoLaviosa ha scritto:


    Siamo nella sezione "Progettazione database" del forum.
    Descrivi dettagliatamente in questo modo:
    - specifica di che tipo di Documenti stai parlando
    sto parlando di
    fatture
    ma anche ricevute
    ma volevo inserire anche dei "documenti" con obbligo di scadenza tipo contratti
    visto che la situazione è molto similare

    OsvaldoLaviosa ha scritto:


    - nomi propri di tutte le tue tabelle
    - nomi propri di tutti i loro campi con indicazione della chiave primaria
    - le relazioni
    => vorrei appunto consigli /delucidazioni
    
        public class Payment
        {
            [Key]
            public int PaymentId { get; set; }=>Chiave Primaria
            public DateTime Date { get; set; }
    
            public DateTime DateExp { get; set; }
            public string Description { get; set; }
    
            public float Amount { get; set; }
    
            //Relazioni
            public int CashId { get; set; }
            public Cash Cashes { get; set; }
    
            public int? DocumentId { get; set; }                 => punta al documento Principale...
            public int? DocumentofPaymentId { get; set; } => Punta al documento relativo al pagamento....
        }
        
            public class Document
        {
            [Key] 
            [Required]
            public int DocumentId { get; set; }=>Chiave Primaria
            public string DocumentNumber { get; set; }
            public TypeDocument DocumentType { get; set; }
            public DateTime Date { get; set; }
            public string Description { get; set; }
            //
            [Required]
            public int PersonId { get; set; }
            public Person Person { get; set; }
            [Required]
            public int AddressId { get; set; }
            public Address Address { get; set; }
            //
            public virtual ICollection<DocRow> BodyRows { get; set; }
            public virtual ICollection<Payment> PaymentsToDo { get; set; }
        }
    }
  • Re: Gestione Documenti

    gian82 ha scritto:


    Non l'ho provato anzi se lo provi fai sapere come và :https://www.devart.com/dotconnect/sqlite/docs/EFCore-Database-First.html , in ogni caso il diagramma con sqlserver dovrebbe rendere più chiara la situazione
    è una trial e a me la da come scaduta...
  • Re: Gestione Documenti

    Scusa io uso Access e faccio fatica a comprendere quella lista di istruzioni che avresti postato. Provo a raccontare quello che ho capito io finora, correggimi dove sbaglio.
    Persone
    IDPersona (PK)
    Cognome
    Nome

    Documenti
    IDDocumento (PK)
    DataDocumento
    NumeroDocumento
    TipoDocumento
    Descrizione
    IDPersona (FK)

    Persone.IDPersona uno-a-molti Documenti.IDPersona

    Fin qui ci arrivo…
    Puoi chiarirmi come sarebbe relazionata la tabella Pagamenti?
  • Re: Gestione Documenti

    OsvaldoLaviosa ha scritto:


    Scusa io uso Access e faccio fatica a comprendere quella lista di istruzioni che avresti postato. Provo a raccontare quello che ho capito io finora, correggimi dove sbaglio.
    Persone
    IDPersona (PK)
    Cognome
    Nome

    Documenti
    IDDocumento (PK)
    DataDocumento
    NumeroDocumento
    TipoDocumento
    Descrizione
    IDPersona (FK)

    Persone.IDPersona uno-a-molti Documenti.IDPersona

    Fin qui ci arrivo…
    Puoi chiarirmi come sarebbe relazionata la tabella Pagamenti?
    la tabella pagamenti sarebbe una relazione Molti -Uno per il campo DocumentId con Documenti
    Una relazione UNO UNO per il campo DocumentofPaymentId Sempre con con Documenti
  • Re: Gestione Documenti

    Riepilogando:
    Persone uno-a-molti Documenti
    Documenti uno-a-molti Pagamenti

    Emadragon ha scritto:


    sto parlando di
    fatture
    ma anche ricevute
    ma volevo inserire anche dei "documenti" con obbligo di scadenza tipo contratti
    visto che la situazione è molto similare
    Per me va tutto bene. Nel campo Documenti.TipoDocumento specifichi se si tratta di Fattura, Ricevuta, DocumentoX, DocumentoY...
  • Re: Gestione Documenti

    OsvaldoLaviosa ha scritto:


    Riepilogando:
    Persone uno-a-molti Documenti
    Documenti uno-a-molti Pagamenti

    Emadragon ha scritto:


    sto parlando di
    fatture
    ma anche ricevute
    ma volevo inserire anche dei "documenti" con obbligo di scadenza tipo contratti
    visto che la situazione è molto similare
    Per me va tutto bene. Nel campo Documenti.TipoDocumento specifichi se si tratta di Fattura, Ricevuta, DocumentoX, DocumentoY...
    il problema è che non riesco a creare queste relazioni senza ottenere errore....
    la tabella pagamenti sarebbe una relazione Molti -Uno per il campo DocumentId con Documenti
    Una relazione UNO UNO per il campo DocumentofPaymentId Sempre con con Documenti
Devi accedere o registrarti per scrivere nel forum
51 risposte