Esempio n. 1
0
        public static UniqueNumber Create(DateTime date, int trialNumber, string cpr, string name, string purpose)
        {
            var un = new UniqueNumber()
            {
                Date        = date,
                Cpr         = cpr,
                TrialNumber = trialNumber,
                Name        = name,
                Id          = date.ToString("yyyyMMdd") + "-" + trialNumber.ToString("00"),
                Purpose     = purpose
            };

            return(un);
        }
Esempio n. 2
0
        public UniqueNumber GetUniqueNewNumber2(DateTime date, string cpr, string name, string purpose)
        {
            if (!File.Exists(_csvFileName))
            {
                return(UniqueNumber.Create(date, 1, cpr, name, purpose));
            }

            using (var fileReader = File.OpenText(_csvFileName))
            {
                var uniqueNumbers = GetUniqueNumbers(fileReader);

                var fromDate       = uniqueNumbers.Where(x => x.Date == date);
                var maxTrialNumber = fromDate.Any() ?
                                     fromDate.Max(x => x.TrialNumber) :
                                     0;

                var newUniqueNumber = UniqueNumber.Create(date, maxTrialNumber + 1, cpr, name, purpose);
                return(newUniqueNumber);
            };
        }
Esempio n. 3
0
        public void Add(UniqueNumber newUniqueNumber)
        {
            var fileWasThere = File.Exists(_csvFileName);

            using (TextWriter fileReader = File.AppendText(_csvFileName))
            {
                var csv = new CsvWriter(fileReader);

                if (!fileWasThere)
                {
                    csv.WriteHeader <UniqueNumber>();
                    csv.NextRecord();
                }

                csv.Configuration.QuoteAllFields = true;
                csv.Configuration.RegisterClassMap(typeof(UniqueNumberClassMap));

                csv.WriteRecord(newUniqueNumber);
                csv.NextRecord();
            }
        }