private BollaCaricoModel creaBollaCaricoModel(RvlDocumentiDS ds, RvlDocumentiDS.USR_ACQUISTITRow acquistoRow)
        {
            BollaCaricoModel bollaCarico = new BollaCaricoModel();

            bollaCarico.IDACQUISTIT = acquistoRow.IDACQUISTIT;

            RvlDocumentiDS.TABTIPDOCRow tipDocAcquisto = ds.TABTIPDOC.Where(x => x.IDTABTIPDOC == acquistoRow.IDTABTIPDOC).FirstOrDefault();
            if (tipDocAcquisto != null)
            {
                bollaCarico.TipoDocumento = tipDocAcquisto.CODICETIPDOC;
            }

            bollaCarico.FullNumDoc      = acquistoRow.IsFULLNUMDOCNull() ? string.Empty : acquistoRow.FULLNUMDOC;
            bollaCarico.NumeroDocumento = acquistoRow.IsNUMDOCNull() ? string.Empty : acquistoRow.NUMDOC;
            bollaCarico.Anno            = acquistoRow.ANNODOC;
            bollaCarico.Data            = acquistoRow.IsDATDOCNull() ? string.Empty : acquistoRow.DATDOC.ToShortDateString();
            bollaCarico.Riferimento     = acquistoRow.IsRIFERIMENTONull() ? string.Empty : acquistoRow.RIFERIMENTO;
            bollaCarico.Azienda         = acquistoRow.IsAZIENDANull() ? string.Empty : acquistoRow.AZIENDA;
            bollaCarico.Fornitore       = string.Empty;
            if (!acquistoRow.IsCODICECLIFONull())
            {
                RvlDocumentiDS.CLIFORow cliente = ds.CLIFO.Where(x => x.CODICE == acquistoRow.CODICECLIFO).FirstOrDefault();
                if (cliente != null)
                {
                    bollaCarico.Fornitore = cliente.RAGIONESOC.Trim();
                }
            }
            bollaCarico.Fasi     = new List <PrdMovFasiModel>();
            bollaCarico.Dettagli = new List <BollaCaricoDettaglioModel>();

            foreach (RvlDocumentiDS.USR_ACQUISTIDRow acquistidRow in ds.USR_ACQUISTID.Where(x => x.IDACQUISTIT == acquistoRow.IDACQUISTIT))
            {
                BollaCaricoDettaglioModel dettaglio = new BollaCaricoDettaglioModel();

                dettaglio.IDACQUISTID = acquistidRow.IDACQUISTID;
                if (!acquistidRow.IsIDMAGAZZNull())
                {
                    RvlDocumentiDS.MAGAZZRow magaz = ds.MAGAZZ.Where(x => x.IDMAGAZZ == acquistidRow.IDMAGAZZ).FirstOrDefault();
                    if (magaz != null)
                    {
                        dettaglio.Modello = magaz.MODELLO.Trim();
                    }
                }
                dettaglio.Quantita = acquistidRow.QTATOT;

                dettaglio.Causale = string.Empty;
                if (!acquistidRow.IsIDTABCAUMGTNull())
                {
                    RvlDocumentiDS.TABCAUMGTRow cau = ds.TABCAUMGT.Where(x => x.IDTABCAUMGT == acquistidRow.IDTABCAUMGT).FirstOrDefault();
                    if (cau != null)
                    {
                        dettaglio.Causale = cau.IsDESTABCAUMGTNull() ? string.Empty : cau.DESTABCAUMGT;
                    }
                }

                bollaCarico.Dettagli.Add(dettaglio);
            }

            return(bollaCarico);
        }
        private BollaVenditaModel creaBollaVenditaModel(RvlDocumentiDS ds, RvlDocumentiDS.USR_VENDITETRow testata)
        {
            BollaVenditaModel bollaVendita = new BollaVenditaModel();

            bollaVendita.IDVENDITET      = testata.IDVENDITET;
            bollaVendita.NumeroDocumento = testata.IsNUMDOCNull() ? string.Empty : testata.NUMDOC;
            bollaVendita.Azienda         = testata.IsAZIENDANull() ? string.Empty : testata.AZIENDA;
            RvlDocumentiDS.TABTIPDOCRow tipDoc = ds.TABTIPDOC.Where(x => x.IDTABTIPDOC == testata.IDTABTIPDOC).FirstOrDefault();
            if (tipDoc != null)
            {
                bollaVendita.TipoDocumento = tipDoc.CODICETIPDOC;
            }
            bollaVendita.Anno       = testata.ANNODOC;
            bollaVendita.Data       = testata.IsDATDOCNull() ? string.Empty : testata.DATDOC.ToShortDateString();
            bollaVendita.FullNumDoc = testata.IsFULLNUMDOCNull() ? string.Empty : testata.FULLNUMDOC;

            bollaVendita.Cliente = string.Empty;
            if (!testata.IsCODICECLIFONull())
            {
                RvlDocumentiDS.CLIFORow cliente = ds.CLIFO.Where(x => x.CODICE == testata.CODICECLIFO).FirstOrDefault();
                if (cliente != null)
                {
                    bollaVendita.Cliente = cliente.RAGIONESOC.Trim();
                }
            }

            bollaVendita.PRDMOVFASI = new List <PrdMovFasiModel>();
            bollaVendita.Dettagli   = new List <BollaVenditaDettaglioModel>();

            foreach (RvlDocumentiDS.USR_VENDITEDRow venditad in ds.USR_VENDITED.Where(x => x.IDVENDITET == bollaVendita.IDVENDITET))
            {
                bollaVendita.Dettagli.Add(creaBollaVenditaDettaglioModel(ds, venditad));
            }
            return(bollaVendita);
        }