示例#1
0
        public WorkSession(IAccrediti source, IEstrazioni filtro)
        {
            this.Source = source;
            this.Filtro = filtro;

            ResultFileName = string.Empty;
        }
示例#2
0
        public AccreditiTest()
        {
            environment = DataUtils.GetNewDataEnvironment()
                          .Map <IAccrediti, Accrediti>()
                          .Map <IEstrazioni, Estrazioni>()
                          .Map <IReportEstrazioneAccrediti, ReportEstrazioneAccrediti>();

            accrediti            = environment.GetNew <IAccrediti>(environment);
            csvAccreditiFileName = Path.GetTempFileName();
            File.WriteAllText(csvAccreditiFileName, string.Join(System.Environment.NewLine, csvAccrediti));

            filtro = environment.GetNew <IEstrazioni>(environment);
            csvEstrazioniFileName = Path.GetTempFileName();
            File.WriteAllText(csvEstrazioniFileName, string.Join(System.Environment.NewLine, csvEstrazioni));
            filtro.Read(csvEstrazioniFileName);

            filtroWithSingleOrario12 = environment.GetNew <IEstrazioni>(environment);
            filtroWithSingleOrario12.Items.Add(estrazioneWithOrario12);

            csvAccreditiWith3RecordAt15_00_FileName = Path.GetTempFileName();
            File.WriteAllText(csvAccreditiWith3RecordAt15_00_FileName, string.Join(System.Environment.NewLine, csvAccreditiWithImportoTotale100AndTrasazioniTotale10At15_00));

            filtroWithSingleOrario15 = environment.GetNew <IEstrazioni>(environment);
            csvEstrazioniWithWithSingleItemAt15_00_FileName = Path.GetTempFileName();
            File.WriteAllText(csvEstrazioniWithWithSingleItemAt15_00_FileName, string.Join(System.Environment.NewLine, csvEstrazioniEstrazioniSingleItem15_00));
            filtroWithSingleOrario15.Read(csvEstrazioniWithWithSingleItemAt15_00_FileName);
        }
示例#3
0
        /// <summary>
        /// Per ciascuna riga presente nel secondo file CSV sarà necessario recuperare dal dataset l'accredito avvenuto in
        /// quell'esatto istante o, qualora tale accredito manchi nel dataset, il primo accredito immediatamente
        /// successivo;
        /// </summary>
        public IReportEstrazioneAccrediti Report(IEstrazioni filtroEstrazioni)
        {
            foreach (IEstrazione filtro in filtroEstrazioni.Items)
            {
                report.Evaluate(GetByFiltro(filtro));
            }

            return(report);
        }
示例#4
0
        public EstrazioniTest()
        {
            environment = DataUtils.GetNewDataEnvironment()
                          .Map <IEstrazioni, Estrazioni>();

            estrazioni = environment.GetNew <IEstrazioni>(environment);

            csvEstrazioniFileName = Path.GetTempFileName();
            File.WriteAllText(csvEstrazioniFileName, string.Join(System.Environment.NewLine, csvEstrazioni));

            csvEstrazioniWithSingleOrarioFileName = Path.GetTempFileName();
            File.WriteAllText(csvEstrazioniWithSingleOrarioFileName,
                              string.Join(System.Environment.NewLine, csvEstrazioniEstrazioniSingleItem15_00));
        }
示例#5
0
        public void FromAGivenAccreditiCollectionWithSingleOrarioBefore12AndACustomFilterWithOrario12_ResultMustBeEmpty()
        {
            accrediti.Items.AddRange(accreditiCollectionWithSingleOrarioBefore12);

            filtroWithSingleOrario12 = environment.GetNew <IEstrazioni>(environment);
            filtroWithSingleOrario12.Items.Add(estrazioneWithOrario12);

            IReportEstrazioneAccrediti result = accrediti.Report(filtroWithSingleOrario12);

            Assert.True(result.Items.Count.Equals(filtroWithSingleOrario12.Items.Count));
            Assert.True(result.Items.Count > 0);
            Assert.True(result.Items.Count == 1);
            Assert.True(result.Items.Single().ImportoTotale.Equals(0));
            Assert.True(result.Items.Single().TransazioniTotale.Equals(0));
        }
示例#6
0
        public ISessionWorker Run(string sourceFileName, string filterFileName)
        {
            IAccrediti  accrediti  = Factory.GetNew <IAccrediti>(Factory);
            IEstrazioni estrazioni = Factory.GetNew <IEstrazioni>(Factory);

            session = Factory.GetNew <IWorkSession>(accrediti, estrazioni);

            session.Source.Read(sourceFileName);

            session.Filtro.Read(filterFileName);

            session.ResultFileName = session.Source.Report(session.Filtro).ExportToFile(OutputFile);

            return(this);
        }