public static Mock<DataModel.ModelEntities> DoMockingSetupForContext(bool includeConceptMoviesData, out Mock<IDbSet<ConceptMovie>> mockSetConceptMovies, bool markAConceptMovieInactive = false)
 {
     var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00);
     var mockContext = new Mock<DataModel.ModelEntities>();
     // Apply Data and set up IQueryable
     mockSetConceptMovies = new Mock<IDbSet<ConceptMovie>>();
     var personData = (!includeConceptMoviesData ? new List<ConceptMovie>() : new List<ConceptMovie>
     {
         new ConceptMovie { Id = 1, Active = !markAConceptMovieInactive, CreatedDate = createDate, CustomKey = "KING-STEPHEN", ApiDetailUrl = "/TEST/KING-STEPHEN", },
         new ConceptMovie { Id = 2, Active = true, CreatedDate = createDate.AddDays(1), CustomKey = "NIVEN-LARRY", ApiDetailUrl = "/TEST/NIVEN-LARRY", }
     }).AsQueryable();
     mockSetConceptMovies.As<IQueryable<ConceptMovie>>().Setup(m => m.Provider).Returns(personData.Provider);
     mockSetConceptMovies.As<IQueryable<ConceptMovie>>().Setup(m => m.Expression).Returns(personData.Expression);
     mockSetConceptMovies.As<IQueryable<ConceptMovie>>().Setup(m => m.ElementType).Returns(personData.ElementType);
     mockSetConceptMovies.As<IQueryable<ConceptMovie>>().Setup(m => m.GetEnumerator()).Returns(personData.GetEnumerator());
     mockContext.Setup(m => m.ConceptMovies).Returns(mockSetConceptMovies.Object);
     mockContext.Setup(m => m.SetModified(It.IsAny<object>())).Callback(() => { });
     // Return
     return mockContext;
 }
Ejemplo n.º 2
0
        public void Merge()
        {
            Series observed = new Series();
            observed.Name = "observed";
            observed.TimeInterval = TimeInterval.Daily;

            Series estimated = new Series();
            estimated.Name = "estimated";
            estimated.TimeInterval = TimeInterval.Daily;

            DateTime t = new DateTime(2000,1,1);
            for (int i = 1; i <= 10; i++)
            {
                estimated.Add(t, i, PointFlag.Estimated);

                if( i >=5 && i <=8 ) // create observed data time steps 5,6,7,8
                  observed.Add(t, 100,PointFlag.None);

                t = t.AddDays(1).Date;
            }

            observed.WriteToConsole(true);
            estimated.WriteToConsole(true);
            var m = Math.Merge(observed, estimated);
            m.WriteToConsole(true);
            for (int i = 0; i < m.Count; i++)
            {

                var pt = m[i];

                if (pt.Value > 90)
                    Assert.IsTrue(pt.Flag == PointFlag.None);
                else
                    Assert.IsTrue(pt.Flag == PointFlag.Estimated);

            }
        }
        public static System.DateTime GetDateFromSequentialGuid(System.Guid guid)
        {
            System.DateTime baseDate = new System.DateTime(BASE_YEAR, BASE_MONTH, BASE_DAY);
            byte[] daysArray = new byte[4];
            byte[] msecsArray = new byte[4];
            byte[] guidArray = guid.ToByteArray();

            // Copy the date parts of the guid to the respective byte arrays
            System.Array.Copy(guidArray, guidArray.Length - 6, daysArray, 2, 2);
            System.Array.Copy(guidArray, guidArray.Length - 4, msecsArray, 0, 4);

            // Reverse the arrays to put them into the original order
            System.Array.Reverse(daysArray);
            System.Array.Reverse(msecsArray);

            // Convert the bytes to ints
            int days = System.BitConverter.ToInt32(daysArray, 0);
            int msecs = System.BitConverter.ToInt32(msecsArray, 0);

            System.DateTime date = baseDate.AddDays(days);
            date = date.AddMilliseconds(msecs * LIMITING_DIVISOR);

            return date;
        }
 /// <summary>
 ///     A DateTime extension method that tomorrows the given this.
 /// </summary>
 /// <param name="this">The @this to act on.</param>
 /// <returns>Tomorrow date at same time.</returns>
 public static System.DateTime Tomorrow(this System.DateTime @this)
 {
     return @this.AddDays(1);
 }
        // METHODS
        protected override void Seed(DataBaseContext context)
        {
            // COUNTRIES
            int countriesAmount = countriesList.Length;

            Entities.Country[] countries = new Entities.Country[countriesAmount];
            for (int i = 0; i < countriesAmount; ++i)
            {
                countries[i] = new Entities.Country()
                {
                    Name = countriesList[i]
                };
            }
            context.Countries.AddRange(countries);

            // CATEGORIES
            int categoriesAmount = random.Next(10, 25);

            Entities.Category[] categories = new Entities.Category[categoriesAmount];
            for (int i = 0; i < categoriesAmount; ++i)
            {
                categories[i] = new Entities.Category()
                {
                    Name = words[random.Next(words.Length)]
                };
            }
            context.Categories.AddRange(categories);

            // GENRES
            int genresAmount = random.Next(10, 25);

            Entities.Genre[] genres = new Entities.Genre[genresAmount];
            for (int i = 0; i < genresAmount; ++i)
            {
                genres[i] = new Entities.Genre()
                {
                    Name = words[random.Next(words.Length)]
                };
            }
            context.Genres.AddRange(genres);

            // AUTHORS
            int authorsAmount = random.Next(50, 150);

            Entities.Author[] authors = new Entities.Author[authorsAmount];
            for (int i = 0; i < authorsAmount; ++i)
            {
                authors[i] = new Entities.Author()
                {
                    Name     = words[random.Next(words.Length)],
                    Surname  = words[random.Next(words.Length)],
                    Nickname = words[random.Next(words.Length)] + words[random.Next(words.Length)]
                };
            }
            context.Authors.AddRange(authors);

            // PUBLISHING HOUSES
            int publishingHousesAmount = random.Next(20, 50);

            Entities.PublishingHouse[] publishingHouses = new Entities.PublishingHouse[publishingHousesAmount];
            for (int i = 0; i < publishingHousesAmount; ++i)
            {
                publishingHouses[i] = new Entities.PublishingHouse()
                {
                    Name    = words[random.Next(words.Length)],
                    Country = countries[random.Next(countriesAmount)],
                };
            }
            context.PublishingHouses.AddRange(publishingHouses);

            // BOOK
            int booksAmount = random.Next(100, 500);

            Entities.Book[] books = new Entities.Book[booksAmount];
            for (int i = 0; i < booksAmount; ++i)
            {
                books[i] = new Entities.Book()
                {
                    Name             = string.Join(" ", GenerateList(names, 1, 5)),
                    Amount           = random.Next(25, 50),
                    Year             = random.Next(1975, System.DateTime.Now.Year),
                    Authors          = GenerateList(authors, 1, 5),
                    PublishingHouses = GenerateList(publishingHouses, 1, 3),
                    Categories       = GenerateList(categories, 1, 5),
                    Genres           = GenerateList(genres, 1, 5)
                };
            }
            context.Books.AddRange(books);

            // READERS
            int readersAmount = random.Next(100, 500);

            Entities.Reader[] readers = new Entities.Reader[readersAmount];
            for (int i = 0; i < readersAmount; ++i)
            {
                readers[i] = new Entities.Reader()
                {
                    Name    = names[random.Next(names.Length)],
                    Surname = names[random.Next(names.Length)],
                    Address = string.Join(" ", GenerateList(words, 1, 5)),
                    Phone   = GeneratePhoneNumber()
                };
            }
            context.Readers.AddRange(readers);

            // ABONNEMENTS
            int abonnementsAmount = random.Next(1500, 5000);

            Entities.Abonnement[] abonnements = new Entities.Abonnement[abonnementsAmount];
            for (int i = 0; i < abonnementsAmount; ++i)
            {
                System.DateTime takeDate   = GenerateDate();
                bool            isReturned = random.Next(2) == 1;

                abonnements[i] = new Entities.Abonnement()
                {
                    Reader      = readers[random.Next(readers.Length)],
                    Book        = books[random.Next(books.Length)],
                    TakeTime    = takeDate,
                    TakenPeriod = takeDate.AddDays(random.Next(7, 28)),
                    ReturnTime  = isReturned ? (System.DateTime?)takeDate.AddDays(random.Next(1, 20)) : null
                };
            }
            context.Abonnements.AddRange(abonnements);


            base.Seed(context);
        }
Ejemplo n.º 6
0
        private CheckOutput CheckFunc1()
        {
            Range rngCheck = new Range(_check.Range);

            DataView categoriaEntita = Workbook.Repository[DataBase.TAB.CATEGORIA_ENTITA].DefaultView;

            categoriaEntita.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND IdApplicazione = " + Workbook.IdApplicazione;

            TreeNode n = new TreeNode(categoriaEntita[0]["DesEntita"].ToString());

            n.Name = _check.SiglaEntita;

            CheckOutput.CheckStatus status = CheckOutput.CheckStatus.Ok;

            System.DateTime giorno    = Workbook.DataAttiva;
            int             oreGiorno = Date.GetOreGiorno(giorno);

            string suffissoData = Date.GetSuffissoData(giorno);
            int    ora          = 1;

            TreeNode nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));

            for (int i = 0; i < rngCheck.ColOffset; i++)
            {
                //caricamento dati
                decimal programmaQ1_MT2R    = GetDecimal("UP_MT2R", "PROGRAMMAQ1_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal programmaQ2_MT2R    = GetDecimal("UP_MT2R", "PROGRAMMAQ2_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal programmaQ3_MT2R    = GetDecimal("UP_MT2R", "PROGRAMMAQ3_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal programmaQ4_MT2R    = GetDecimal("UP_MT2R", "PROGRAMMAQ4_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal psMinAccettata_MT2R = GetDecimal("UP_MT2R", "PSMIN_ACCETTATA", suffissoData, Date.GetSuffissoOra(ora));

                decimal programmaQ1_MT3    = GetDecimal("UP_MT3", "PROGRAMMAQ1_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal programmaQ2_MT3    = GetDecimal("UP_MT3", "PROGRAMMAQ2_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal programmaQ3_MT3    = GetDecimal("UP_MT3", "PROGRAMMAQ3_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal programmaQ4_MT3    = GetDecimal("UP_MT3", "PROGRAMMAQ4_" + Workbook.Mercato, suffissoData, Date.GetSuffissoOra(ora));
                decimal psMinAccettata_MT3 = GetDecimal("UP_MT3", "PSMIN_ACCETTATA", suffissoData, Date.GetSuffissoOra(ora));
                //fine caricameto dati

                TreeNode nOra = new TreeNode("Ora " + ora);

                bool errore     = false;
                bool attenzione = false;

                //controlli
                if (programmaQ1_MT2R > 0 && programmaQ1_MT2R < psMinAccettata_MT2R)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ2_MT2R > 0 && programmaQ2_MT2R < psMinAccettata_MT2R)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ3_MT2R > 0 && programmaQ3_MT2R < psMinAccettata_MT2R)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ4_MT2R > 0 && programmaQ4_MT2R < psMinAccettata_MT2R)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ1_MT3 > 0 && programmaQ1_MT3 < psMinAccettata_MT3)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ2_MT3 > 0 && programmaQ2_MT3 < psMinAccettata_MT3)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ3_MT3 > 0 && programmaQ3_MT3 < psMinAccettata_MT3)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                if (programmaQ4_MT3 > 0 && programmaQ4_MT3 < psMinAccettata_MT3)
                {
                    nOra.Nodes.Add("Programma < PMin");
                    attenzione |= true;
                }
                //fine controlli

                if (errore)
                {
                    ErrorStyle(ref nOra);
                    status = CheckOutput.CheckStatus.Error;
                }
                else if (attenzione)
                {
                    AlertStyle(ref nOra);
                    if (status != CheckOutput.CheckStatus.Error)
                    {
                        status = CheckOutput.CheckStatus.Alert;
                    }
                }

                nOra.Name = "'" + _ws.Name + "'!" + rngCheck.Columns[i].ToString();

                if (nOra.Nodes.Count > 0)
                {
                    nData.Nodes.Add(nOra);
                }

                string value = errore ? "ERRORE" : attenzione ? "ATTENZ." : "OK";
                _ws.Range[rngCheck.Columns[i].ToString()].Value = value;

                ora = ora < oreGiorno ? ora + 1 : 1;
                if (ora == 1)
                {
                    giorno       = giorno.AddDays(1);
                    oreGiorno    = Date.GetOreGiorno(giorno);
                    suffissoData = Date.GetSuffissoData(giorno);

                    if (nData.Nodes.Count > 0)
                    {
                        n.Nodes.Add(nData);
                    }

                    nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));
                }
            }

            if (nData.Nodes.Count > 0)
            {
                n.Nodes.Add(nData);
            }

            if (n.Nodes.Count > 0)
            {
                return(new CheckOutput(n, status));
            }

            return(new CheckOutput());
        }
Ejemplo n.º 7
0
 public IEnumerable <TransactionStripeConnectTransfers> GetAllScheduledTransfers(System.DateTime TransferDate)
 {
     return(GetAll(s => s.Where($"{nameof(TransactionStripeConnectTransfers.TransferDateProposed):C} >= @TransferDateProposedStart AND {nameof(TransactionStripeConnectTransfers.TransferDateProposed):C} < @TransferDateProposedEnd AND {nameof(TransactionStripeConnectTransfers.TransferApiResponse):C} IS NULL").OrderBy($"{nameof(TransactionStripeConnectTransfers.Id):C} ASC").Top(100)
                   .WithParameters(new { TransferDateProposedStart = TransferDate, TransferDateProposedEnd = TransferDate.AddDays(1) })));
 }
Ejemplo n.º 8
0
        private static DateTimeResolutionResult GetAgoLaterResult(
            DateTimeParseResult durationParseResult,
            string afterStr,
            string beforeStr,
            DateObject referenceTime,
            IDateTimeUtilityConfiguration utilityConfiguration,
            AgoLaterMode mode,
            SwiftDayDelegate SwiftDay)
        {
            var ret            = new DateTimeResolutionResult();
            var resultDateTime = referenceTime;
            var timex          = durationParseResult.TimexStr;

            if (((DateTimeResolutionResult)durationParseResult.Value).Mod == Constants.MORE_THAN_MOD)
            {
                ret.Mod = Constants.MORE_THAN_MOD;
            }
            else if (((DateTimeResolutionResult)durationParseResult.Value).Mod == Constants.LESS_THAN_MOD)
            {
                ret.Mod = Constants.LESS_THAN_MOD;
            }

            if (MatchingUtil.ContainsAgoLaterIndex(afterStr, utilityConfiguration.AgoRegex))
            {
                var match = utilityConfiguration.AgoRegex.Match(afterStr);
                var swift = 0;

                // Handle cases like "3 days before yesterday"
                if (match.Success && !string.IsNullOrEmpty(match.Groups["day"].Value))
                {
                    swift = SwiftDay(match.Groups["day"].Value);
                }

                resultDateTime = DurationParsingUtil.ShiftDateTime(timex, referenceTime.AddDays(swift), false);

                ((DateTimeResolutionResult)durationParseResult.Value).Mod = Constants.BEFORE_MOD;
            }
            else if (MatchingUtil.ContainsAgoLaterIndex(afterStr, utilityConfiguration.LaterRegex) ||
                     MatchingUtil.ContainsTermIndex(beforeStr, utilityConfiguration.InConnectorRegex))
            {
                var match = utilityConfiguration.LaterRegex.Match(afterStr);
                var swift = 0;

                // Handle cases like "3 days after tomorrow"
                if (match.Success && !string.IsNullOrEmpty(match.Groups["day"].Value))
                {
                    swift = SwiftDay(match.Groups["day"].Value);
                }

                resultDateTime = DurationParsingUtil.ShiftDateTime(timex, referenceTime.AddDays(swift), true);

                ((DateTimeResolutionResult)durationParseResult.Value).Mod = Constants.AFTER_MOD;
            }

            if (resultDateTime != referenceTime)
            {
                if (mode.Equals(AgoLaterMode.Date))
                {
                    ret.Timex = $"{FormatUtil.LuisDate(resultDateTime)}";
                }
                else if (mode.Equals(AgoLaterMode.DateTime))
                {
                    ret.Timex = $"{FormatUtil.LuisDateTime(resultDateTime)}";
                }

                ret.FutureValue         = ret.PastValue = resultDateTime;
                ret.SubDateTimeEntities = new List <object> {
                    durationParseResult
                };
                ret.Success = true;
            }

            return(ret);
        }
Ejemplo n.º 9
0
        private System.Collections.Generic.List<WeekForExcel> GetMonthWeeks(int year, int month)
        {
            //weeks
            System.Collections.Generic.List<WeekForExcel> collWeeks = new System.Collections.Generic.List<WeekForExcel>();
            WeekForExcel week;
            int weekNumber = 1;
            System.DateTime weekStart = new System.DateTime(year, month, 1);
            DataTable weekTable = new DataTable();

            //days
            System.DateTime day;
            int dayNumberLast = System.DateTime.DaysInMonth(year, month);

            // creo una tabla dinámica para cada semana del mes
            for (int dayNumberCurrent = 1; dayNumberCurrent <= dayNumberLast; dayNumberCurrent++)
            {
                day = new System.DateTime(year, month, dayNumberCurrent);
                weekTable.Columns.Add(day.ToString("dd-MM-yy") + "-Detalle");
                weekTable.Columns.Add(day.ToString("dd-MM-yy") + "-Importe");

                if (day.DayOfWeek == System.DayOfWeek.Sunday)
                {
                    weekTable.Columns.Add("TotalWeek");
                    week = new WeekForExcel(weekNumber, weekStart, day, weekTable);
                    collWeeks.Add(week);

                    if (dayNumberCurrent != dayNumberLast)
                    {
                        weekStart = day.AddDays(1);
                        weekTable = new DataTable();
                        weekNumber++;
                    }
                }
                else if (dayNumberCurrent == dayNumberLast)
                {
                    weekTable.Columns.Add("TotalWeek");
                    week = new WeekForExcel(weekNumber, weekStart, day, weekTable);
                    collWeeks.Add(week);
                }
            }

            return collWeeks.OrderByDescending(l=>l.WeekNumber).ToList();
        }
Ejemplo n.º 10
0
Archivo: Check.cs Proyecto: fberga/Iren
        private CheckOutput CheckFunc5()
        {
            Range rngCheck = new Range(_check.Range);

            DataView categoriaEntita = Workbook.Repository[DataBase.TAB.CATEGORIA_ENTITA].DefaultView;

            categoriaEntita.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND IdApplicazione = " + Workbook.IdApplicazione;

            TreeNode n = new TreeNode(categoriaEntita[0]["DesEntita"].ToString());

            n.Name = _check.SiglaEntita;

            CheckOutput.CheckStatus status = CheckOutput.CheckStatus.Ok;

            System.DateTime giorno    = Workbook.DataAttiva;
            int             oreGiorno = Date.GetOreGiorno(giorno);

            string suffissoData = Date.GetSuffissoData(giorno);
            int    ora          = 1;

            TreeNode nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));

            DataView entitaParametroD = Workbook.Repository[DataBase.TAB.ENTITA_PARAMETRO].DefaultView;

            entitaParametroD.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND SiglaParametro = 'LIMITE_PMAX' AND DataIV <= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "01' AND DataFV >= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "25' AND IdApplicazione = " + Workbook.IdApplicazione;
            decimal limitePmax = decimal.MaxValue;

            if (entitaParametroD.Count > 0)
            {
                limitePmax = decimal.Parse(entitaParametroD[0]["Valore"].ToString());
            }

            entitaParametroD.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND SiglaParametro = 'LIMITE_PMIN' AND DataIV <= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "01' AND DataFV >= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "25' AND IdApplicazione = " + Workbook.IdApplicazione;
            decimal limitePmin = decimal.MinValue;

            if (entitaParametroD.Count > 0)
            {
                limitePmin = decimal.Parse(entitaParametroD[0]["Valore"].ToString());
            }

            for (int i = 0; i < rngCheck.ColOffset; i++)
            {
                decimal eOfferta1 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_E1", suffissoData, Date.GetSuffissoOra(ora));
                decimal eOfferta2 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_E2", suffissoData, Date.GetSuffissoOra(ora));
                decimal eOfferta3 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_E3", suffissoData, Date.GetSuffissoOra(ora));
                decimal eOfferta4 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_E4", suffissoData, Date.GetSuffissoOra(ora));
                decimal pOfferta1 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_P1", suffissoData, Date.GetSuffissoOra(ora));
                decimal pOfferta2 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_P2", suffissoData, Date.GetSuffissoOra(ora));
                decimal pOfferta3 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_P3", suffissoData, Date.GetSuffissoOra(ora));
                decimal pOfferta4 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_P4", suffissoData, Date.GetSuffissoOra(ora));
                decimal pmin      = GetDecimal("GE_GOT2", "PMIN", suffissoData, Date.GetSuffissoOra(ora));
                decimal pmax      = GetDecimal("GE_GOT1", "PMAX", suffissoData, Date.GetSuffissoOra(ora));

                bool errore     = false;
                bool attenzione = false;

                TreeNode nOra = new TreeNode("Ora " + ora);

                if (eOfferta1 + eOfferta3 > pmax)
                {
                    nOra.Nodes.Add("Eofferta vendita > Pmax");
                    errore |= true;
                }
                if (eOfferta2 < pmin)
                {
                    nOra.Nodes.Add("Eofferta acquisto < Pmin");
                    errore |= true;
                }
                if (eOfferta1 == 0 && pOfferta1 != 0)
                {
                    nOra.Nodes.Add("Eofferta1 = 0 e Pofferta1 <> 0");
                    errore |= true;
                }
                if (eOfferta2 == 0 && pOfferta2 != 0)
                {
                    nOra.Nodes.Add("Eofferta2 = 0 e Pofferta2 <> 0");
                    errore |= true;
                }
                if (eOfferta3 == 0 && pOfferta3 != 0)
                {
                    nOra.Nodes.Add("Eofferta3 = 0 e Pofferta3 <> 0");
                    errore |= true;
                }
                if (eOfferta4 == 0 && pOfferta4 != 0)
                {
                    nOra.Nodes.Add("Eofferta4 = 0 e Pofferta4 <> 0");
                    errore |= true;
                }
                if (eOfferta2 != 0 && pOfferta2 == 0)
                {
                    nOra.Nodes.Add("Eofferta2 <> 0 e Pofferta2 = 0");
                    errore |= true;
                }
                if (eOfferta3 != 0 && pOfferta3 == 0)
                {
                    nOra.Nodes.Add("Eofferta3 <> 0 e Pofferta3 = 0");
                    errore |= true;
                }
                if (eOfferta4 != 0 && pOfferta4 == 0)
                {
                    nOra.Nodes.Add("Eofferta4 <> 0 e Pofferta4 = 0");
                    errore |= true;
                }
                if (eOfferta1 + eOfferta3 < pmax)
                {
                    nOra.Nodes.Add("Eofferta vendita < Pmax");
                    attenzione |= true;
                }

                if (errore)
                {
                    ErrorStyle(ref nOra);
                    status = CheckOutput.CheckStatus.Error;
                }
                else if (attenzione)
                {
                    AlertStyle(ref nOra);
                    if (status != CheckOutput.CheckStatus.Error)
                    {
                        status = CheckOutput.CheckStatus.Alert;
                    }
                }

                nOra.Name = "'" + _ws.Name + "'!" + rngCheck.Columns[i].ToString();

                if (nOra.Nodes.Count > 0)
                {
                    nData.Nodes.Add(nOra);
                }

                string value = errore ? "ERRORE" : attenzione ? "ATTENZ." : "OK";
                _ws.Range[rngCheck.Columns[i].ToString()].Value = value;

                ora = ora < oreGiorno ? ora + 1 : 1;
                if (ora == 1)
                {
                    giorno       = giorno.AddDays(1);
                    oreGiorno    = Date.GetOreGiorno(giorno);
                    suffissoData = Date.GetSuffissoData(giorno);

                    if (nData.Nodes.Count > 0)
                    {
                        n.Nodes.Add(nData);
                    }

                    nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));
                }
            }
            if (nData.Nodes.Count > 0)
            {
                n.Nodes.Add(nData);
            }

            if (n.Nodes.Count > 0)
            {
                return(new CheckOutput(n, status));
            }

            return(new CheckOutput());
        }
Ejemplo n.º 11
0
Archivo: Check.cs Proyecto: fberga/Iren
        private CheckOutput CheckFunc3()
        {
            Range rngCheck = new Range(_check.Range);

            DataView categoriaEntita = Workbook.Repository[DataBase.TAB.CATEGORIA_ENTITA].DefaultView;

            categoriaEntita.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND IdApplicazione = " + Workbook.IdApplicazione;

            TreeNode n = new TreeNode(categoriaEntita[0]["DesEntita"].ToString());

            n.Name = _check.SiglaEntita;

            CheckOutput.CheckStatus status = CheckOutput.CheckStatus.Ok;

            System.DateTime giorno    = Workbook.DataAttiva;
            int             oreGiorno = Date.GetOreGiorno(giorno);

            string suffissoData = Date.GetSuffissoData(giorno);
            int    ora          = 1;

            TreeNode nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));

            DataView entitaParametroD = Workbook.Repository[DataBase.TAB.ENTITA_PARAMETRO].DefaultView;

            entitaParametroD.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND SiglaParametro = 'LIMITE_PMAX' AND DataIV <= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "01' AND DataFV >= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "25' AND IdApplicazione = " + Workbook.IdApplicazione;
            decimal limitePmax = decimal.MaxValue;

            if (entitaParametroD.Count > 0)
            {
                limitePmax = decimal.Parse(entitaParametroD[0]["Valore"].ToString());
            }

            entitaParametroD.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND SiglaParametro = 'LIMITE_PMIN' AND DataIV <= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "01' AND DataFV >= '" + Workbook.DataAttiva.ToString("yyyyMMdd") + "25' AND IdApplicazione = " + Workbook.IdApplicazione;
            decimal limitePmin = decimal.MinValue;

            if (entitaParametroD.Count > 0)
            {
                limitePmin = decimal.Parse(entitaParametroD[0]["Valore"].ToString());
            }

            for (int i = 0; i < rngCheck.ColOffset; i++)
            {
                decimal eOfferta1 = GetDecimal(_check.SiglaEntita, "OFFERTA_MGP_E1", suffissoData, Date.GetSuffissoOra(ora));
                decimal pce       = GetDecimal(_check.SiglaEntita, "PCE", suffissoData, Date.GetSuffissoOra(ora));
                decimal progrUC   = GetDecimal(_check.SiglaEntita, "PROGR_UC", suffissoData, Date.GetSuffissoOra(ora));

                decimal delta = 0;
                if (_nomiDefiniti.IsDefined(_check.SiglaEntita, "DELTA_PROGR_UC"))
                {
                    delta = GetDecimal(_check.SiglaEntita, "DELTA_PROGR_UC", suffissoData, Date.GetSuffissoOra(ora));
                }

                bool errore     = false;
                bool attenzione = false;

                TreeNode nOra = new TreeNode("Ora " + ora);

                if (eOfferta1 + pce != progrUC)
                {
                    nOra.Nodes.Add("Eofferta + PCE <> Programma");
                    errore |= true;
                }
                if (eOfferta1 + pce > limitePmax)
                {
                    nOra.Nodes.Add("Eofferta + PCE > PLimMax");
                    errore |= true;
                }
                if (eOfferta1 + pce < limitePmin)
                {
                    nOra.Nodes.Add("Eofferta + PCE < PLimMin");
                    errore |= true;
                }
                if (progrUC + delta < pce)
                {
                    nOra.Nodes.Add("PCE > Programma + Delta");
                    attenzione |= true;
                }

                if (errore)
                {
                    ErrorStyle(ref nOra);
                    status = CheckOutput.CheckStatus.Error;
                }
                else if (attenzione)
                {
                    AlertStyle(ref nOra);
                    if (status != CheckOutput.CheckStatus.Error)
                    {
                        status = CheckOutput.CheckStatus.Alert;
                    }
                }

                nOra.Name = "'" + _ws.Name + "'!" + rngCheck.Columns[i].ToString();

                if (nOra.Nodes.Count > 0)
                {
                    nData.Nodes.Add(nOra);
                }

                string value = errore ? "ERRORE" : attenzione ? "ATTENZ." : "OK";
                _ws.Range[rngCheck.Columns[i].ToString()].Value = value;

                ora = ora < oreGiorno ? ora + 1 : 1;
                if (ora == 1)
                {
                    giorno       = giorno.AddDays(1);
                    oreGiorno    = Date.GetOreGiorno(giorno);
                    suffissoData = Date.GetSuffissoData(giorno);

                    if (nData.Nodes.Count > 0)
                    {
                        n.Nodes.Add(nData);
                    }

                    nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));
                }
            }
            if (nData.Nodes.Count > 0)
            {
                n.Nodes.Add(nData);
            }

            if (n.Nodes.Count > 0)
            {
                return(new CheckOutput(n, status));
            }

            return(new CheckOutput());
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Converts a string value to a System.DateTime
        /// </summary>
        /// <param name="value">
        /// The date string.
        /// </param>
        /// <param name="format">
        /// The format where 103 = dd/MM/yyyy
        /// </param>
        /// <returns>
        /// A System.DateTime
        /// </returns>
        /// <exception cref="System.Exception">
        /// Exception is thrown if the given string value does not meet the expected format.
        /// </exception>
        public static System.DateTime ToDateTime(this string value, int format)
        {
            var result = new System.DateTime();

            switch (format)
            {
            case 103:
                // Validate
                if ((!string.IsNullOrEmpty(value)) && System.Text.RegularExpressions.Regex.IsMatch(value.Trim(), "^(((0[1-9]|[12]\\d|3[01])\\/(0[13578]|1[02])\\/((1[6-9]|[2-9]\\d)\\d{2}))|((0[1-9]|[12]\\d|30)\\/(0[13456789]|1[012])\\/((1[6-9]|[2-9]\\d)\\d{2}))|((0[1-9]|1\\d|2[0-8])\\/02\\/((1[6-9]|[2-9]\\d)\\d{2}))|(29\\/02\\/((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$"))
                {
                    // Build
                    var dateParts = value.Trim().Split(System.Convert.ToChar("/"));
                    result = result.AddYears(System.Convert.ToInt32(dateParts[2]) - 1);
                    result = result.AddMonths(System.Convert.ToInt32(dateParts[1]) - 1);
                    result = result.AddDays(System.Convert.ToInt32(dateParts[0]) - 1);
                }
                else
                {
                    throw new System.Exception($"String \"{value}\" is not of expected format \"{format}\".");
                }

                break;

            case -1:
                // Validate
                if ((!string.IsNullOrEmpty(value)) && value.Contains(" "))
                {
                    var strDate = value.Trim().Split(System.Convert.ToChar(" "));
                    if (strDate.Length == 2)
                    {
                        if (System.Text.RegularExpressions.Regex.IsMatch(strDate[0].Trim(), "^(((0[1-9]|[12]\\d|3[01])\\/(0[13578]|1[02])\\/((1[6-9]|[2-9]\\d)\\d{2}))|((0[1-9]|[12]\\d|30)\\/(0[13456789]|1[012])\\/((1[6-9]|[2-9]\\d)\\d{2}))|((0[1-9]|1\\d|2[0-8])\\/02\\/((1[6-9]|[2-9]\\d)\\d{2}))|(29\\/02\\/((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$"))
                        {
                            // Build
                            var dateParts = strDate[0].Trim().Split(System.Convert.ToChar("/"));
                            result = result.AddYears(System.Convert.ToInt32(dateParts[2]) - 1);
                            result = result.AddMonths(System.Convert.ToInt32(dateParts[1]) - 1);
                            result = result.AddDays(System.Convert.ToInt32(dateParts[0]) - 1);
                        }
                        else
                        {
                            throw new System.Exception($"String \"{value}\" is not of expected format \"{System.Convert.ToString(format)}\".");
                        }

                        if (System.Text.RegularExpressions.Regex.IsMatch(strDate[1].Trim(), "^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"))
                        {
                            // Build
                            var timeParts = strDate[1].Trim().Split(System.Convert.ToChar(":"));
                            result = result.AddHours(System.Convert.ToInt32(timeParts[0]));
                            result = result.AddMinutes(System.Convert.ToInt32(timeParts[1]));
                        }
                        else
                        {
                            throw new System.Exception($"String \"{value}\" is not of expected format \"{System.Convert.ToString(format)}\".");
                        }
                    }
                    else
                    {
                        throw new System.Exception($"String \"{value}\" is not of expected format \"{System.Convert.ToString(format)}\".");
                    }
                }
                else
                {
                    throw new System.Exception($"String \"{value}\" is not of expected format \"{System.Convert.ToString(format)}\".");
                }

                break;
            }

            return(result);
        }
Ejemplo n.º 13
0
        public async Task <IActionResult> MaximumNumberOfFreeDays(int year, string countryCode)
        {
            var response = new List <HolidaysForYear>();

            var holidayList = await _holidayService.GetHolidaysForYear(year, countryCode, "public_holiday");

            foreach (var item in holidayList)
            {
                response.Add(new HolidaysForYear
                {
                    Date        = new DateTime(item.Date.Year, item.Date.Month, item.Date.Day),
                    HolidayName = string.Join(", ", item.HolidayName.Select(x => x.Text)),
                    HolidayType = item.HolidayType,
                    CountryCode = item.CountryCode,
                    DayOfWeek   = (DayOfWeek)item.Date.DayOfWeek
                });
            }

            var countFreeDays    = 0;
            var maxFreeDays      = 0;
            var rangesOfFreeDays = new DateTime();
            var expectedDay      = new DateTime();
            var previousDay      = new DateTime();

            foreach (var item in response)
            {
                var currentDay = item.Date;

                if (expectedDay.Equals(item.Date))
                {
                    if (item.DayOfWeek == (DayOfWeek)5)
                    {
                        countFreeDays += 3;
                        expectedDay.AddDays(3);
                        previousDay = currentDay;

                        continue;
                    }
                    countFreeDays += 1;
                    expectedDay.AddDays(1);
                    continue;
                }

                if (countFreeDays > 0)
                {
                    if (countFreeDays > maxFreeDays)
                    {
                        maxFreeDays      = countFreeDays;
                        rangesOfFreeDays = previousDay;
                    }
                    countFreeDays = 0;
                    expectedDay   = new DateTime();
                }

                if (item.DayOfWeek == (DayOfWeek)2 || item.DayOfWeek == (DayOfWeek)3 || item.DayOfWeek == (DayOfWeek)4)
                {
                    countFreeDays += 1;
                    expectedDay    = currentDay.AddDays(1);
                    previousDay    = currentDay;
                }

                else if (item.DayOfWeek == (DayOfWeek)1)
                {
                    countFreeDays += 3;
                    expectedDay    = currentDay.AddDays(1);
                    previousDay    = currentDay;
                }

                else if (item.DayOfWeek == (DayOfWeek)5)
                {
                    countFreeDays += 3;
                    expectedDay    = currentDay.AddDays(3);
                    previousDay    = currentDay;
                }
            }

            if (countFreeDays > maxFreeDays)
            {
                maxFreeDays      = countFreeDays;
                rangesOfFreeDays = previousDay;
            }

            var result = $"{rangesOfFreeDays.ToString("MM/dd/yyyy")} - Number of free days: {maxFreeDays}";

            return(Ok(result));
        }
Ejemplo n.º 14
0
        public static DateTime ObjToDate(Obj date)
        {
            long epochDay = date.GetInnerLong();

            return(epoch.AddDays(epochDay));
        }
Ejemplo n.º 15
0
        private DateTimeResolutionResult ParseTimeOfToday(string text, DateObject referenceTime)
        {
            var ret = new DateTimeResolutionResult();
            var ers = SingleTimeExtractor.Extract(text, referenceTime);

            if (ers.Count != 1)
            {
                return(ret);
            }

            // TODO: Add reference time
            var pr = this.config.TimeParser.Parse(ers[0], referenceTime);

            if (pr.Value == null)
            {
                return(ret);
            }

            var time = (DateObject)((DateTimeResolutionResult)pr.Value).FutureValue;

            var hour = time.Hour;
            var min  = time.Minute;
            var sec  = time.Second;

            var match = DateTimeExtractorChs.TimeOfTodayRegex.Match(text);

            if (match.Success)
            {
                var matchStr = match.Value.ToLowerInvariant();


                var swift = 0;
                switch (matchStr)
                {
                case "今晚":
                    if (hour < 12)
                    {
                        hour += 12;
                    }
                    break;

                case "今早":
                case "今晨":
                    if (hour >= 12)
                    {
                        hour -= 12;
                    }
                    break;

                case "明晚":
                    swift = 1;
                    if (hour < 12)
                    {
                        hour += 12;
                    }
                    break;

                case "明早":
                case "明晨":
                    swift = 1;
                    if (hour >= 12)
                    {
                        hour -= 12;
                    }
                    break;

                case "昨晚":
                    swift = -1;
                    if (hour < 12)
                    {
                        hour += 12;
                    }
                    break;

                default:
                    break;
                }

                var date = referenceTime.AddDays(swift).Date;

                // in this situation, luisStr cannot end up with "ampm", because we always have a "morning" or "night"
                var timeStr = pr.TimexStr;
                if (timeStr.EndsWith("ampm"))
                {
                    timeStr = timeStr.Substring(0, timeStr.Length - 4);
                }
                timeStr = "T" + hour.ToString("D2") + timeStr.Substring(3);

                ret.Timex       = FormatUtil.FormatDate(date) + timeStr;
                ret.FutureValue = ret.PastValue = DateObject.MinValue.SafeCreateFromValue(date.Year, date.Month, date.Day, hour, min, sec);
                ret.Success     = true;
                return(ret);
            }

            return(ret);
        }
Ejemplo n.º 16
0
 public IDateTime AddDays(double value)
 {
     return(new DateTime(backingDateTime.AddDays(value).Ticks));
 }
Ejemplo n.º 17
0
        private CheckOutput CheckFunc1()
        {
            Range rngCheck = new Range(_check.Range);

            DataView categoriaEntita = Workbook.Repository[DataBase.TAB.CATEGORIA_ENTITA].DefaultView;

            categoriaEntita.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND IdApplicazione = " + Workbook.IdApplicazione;

            TreeNode n = new TreeNode(categoriaEntita[0]["DesEntita"].ToString());

            n.Name = _check.SiglaEntita;

            CheckOutput.CheckStatus status = CheckOutput.CheckStatus.Ok;

            System.DateTime giorno    = Workbook.DataAttiva;
            int             oreGiorno = Date.GetOreGiorno(giorno);

            string suffissoData = Date.GetSuffissoData(giorno);
            int    ora          = 1;

            TreeNode nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));

            var assettiFasce = Workbook.Repository[DataBase.TAB.ENTITA_INFORMAZIONE].AsEnumerable()
                               .Where(r => r["SiglaEntita"].Equals(_check.SiglaEntita) && r["IdApplicazione"].Equals(Workbook.IdApplicazione))
                               .Where(r => r["SiglaInformazione"].ToString().StartsWith("PSMAX_ASSETTO") && r["Visibile"].Equals("1"))
                               .Select(r => r["SiglaInformazione"].ToString().Replace("PSMAX_", ""));

            for (int i = 0; i < rngCheck.ColOffset; i++)
            {
                //caricamento dati
                object profiloPQNR = GetObject(_check.SiglaEntita, "PQNR_PROFILO", suffissoData, Date.GetSuffissoOra(ora));
                //fine caricameto dati

                TreeNode nOra = new TreeNode("Ora " + ora);

                bool errore     = false;
                bool attenzione = false;

                foreach (var assettoFascia in assettiFasce)
                {
                    //caricamento dati
                    decimal psmax = GetDecimal(_check.SiglaEntita, "PSMAX_CORRETTA_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    if (psmax == 0)
                    {
                        psmax = GetDecimal(_check.SiglaEntita, "PSMAX_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    }

                    decimal psmaxQ1 = GetDecimal(_check.SiglaEntita, "PSMAXQ1_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    decimal psmaxQ2 = GetDecimal(_check.SiglaEntita, "PSMAXQ2_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    decimal psmaxQ3 = GetDecimal(_check.SiglaEntita, "PSMAXQ3_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    decimal psmaxQ4 = GetDecimal(_check.SiglaEntita, "PSMAXQ4_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));


                    decimal psmin = GetDecimal(_check.SiglaEntita, "PSMIN_CORRETTA_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    if (psmin == 0)
                    {
                        psmin = GetDecimal(_check.SiglaEntita, "PSMIN_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    }

                    decimal psminQ1 = GetDecimal(_check.SiglaEntita, "PSMINQ1_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    decimal psminQ2 = GetDecimal(_check.SiglaEntita, "PSMINQ2_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    decimal psminQ3 = GetDecimal(_check.SiglaEntita, "PSMINQ3_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    decimal psminQ4 = GetDecimal(_check.SiglaEntita, "PSMINQ4_" + assettoFascia, suffissoData, Date.GetSuffissoOra(ora));
                    //fine caricameto dati

                    //controlli
                    if (psmax != psmaxQ1)
                    {
                        nOra.Nodes.Add("PSMAX accettata 0-15 <> PSMAX");
                        attenzione |= true;
                    }
                    if (psmax != psmaxQ2)
                    {
                        nOra.Nodes.Add("PSMAX accettata 15-30 <> PSMAX");
                        attenzione |= true;
                    }
                    if (psmax != psmaxQ3)
                    {
                        nOra.Nodes.Add("PSMAX accettata 30-45 <> PSMAX");
                        attenzione |= true;
                    }
                    if (psmax != psmaxQ4)
                    {
                        nOra.Nodes.Add("PSMAX accettata 45-60 <> PSMAX");
                        attenzione |= true;
                    }
                    /////////////////////////////////////////////////////////////
                    if (psmin != psminQ1)
                    {
                        nOra.Nodes.Add("PSMIN accettata 0-15 <> PSMIN");
                        attenzione |= true;
                    }
                    if (psmin != psminQ2)
                    {
                        nOra.Nodes.Add("PSMIN accettata 15-30 <> PSMIN");
                        attenzione |= true;
                    }
                    if (psmin != psminQ3)
                    {
                        nOra.Nodes.Add("PSMIN accettata 30-45 <> PSMIN");
                        attenzione |= true;
                    }
                    if (psmin != psminQ4)
                    {
                        nOra.Nodes.Add("PSMIN accettata 45-60 <> PSMIN");
                        attenzione |= true;
                    }
                    //fine controlli
                }

                //controlli
                if (profiloPQNR == null)
                {
                    nOra.Nodes.Add("Il profilo PQNR non è selezionato");
                    errore |= true;
                }
                //fine controlli

                if (errore)
                {
                    ErrorStyle(ref nOra);
                    status = CheckOutput.CheckStatus.Error;
                }
                else if (attenzione)
                {
                    AlertStyle(ref nOra);
                    if (status != CheckOutput.CheckStatus.Error)
                    {
                        status = CheckOutput.CheckStatus.Alert;
                    }
                }

                nOra.Name = "'" + _ws.Name + "'!" + rngCheck.Columns[i].ToString();

                if (nOra.Nodes.Count > 0)
                {
                    nData.Nodes.Add(nOra);
                }

                string value = errore ? "ERRORE" : attenzione ? "ATTENZ." : "OK";
                _ws.Range[rngCheck.Columns[i].ToString()].Value = value;

                ora = ora < oreGiorno ? ora + 1 : 1;
                if (ora == 1)
                {
                    giorno       = giorno.AddDays(1);
                    oreGiorno    = Date.GetOreGiorno(giorno);
                    suffissoData = Date.GetSuffissoData(giorno);

                    if (nData.Nodes.Count > 0)
                    {
                        n.Nodes.Add(nData);
                    }

                    nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));
                }
            }

            if (nData.Nodes.Count > 0)
            {
                n.Nodes.Add(nData);
            }

            if (n.Nodes.Count > 0)
            {
                return(new CheckOutput(n, status));
            }

            return(new CheckOutput());
        }
Ejemplo n.º 18
0
        public IEnumerable <DataTransferObject.Policy.ExternalPolicyLog> QueryExternalPolicys(decimal?orderId, System.DateTime stratDate, System.DateTime endDate, ChinaPay.Core.Pagination pagination)
        {
            List <DataTransferObject.Policy.ExternalPolicyLog> result = new List <DataTransferObject.Policy.ExternalPolicyLog>();
            string fields       = "[OrderId],[Id],[Platform],[Provider],[TicketType],[RequireChangePNR],[Condition],[ETDZSpeed],[WorkStart],[WorkEnd],[ScrapStart],[ScrapEnd],[OriginalRebate],[Rebate],[ParValue],[OfficeNo],[RequireAuth] ,[RecordDate],[OriginalPolicyContent]";
            string catelog      = "[dbo].[T_ExternalPolicyCopy]";
            string orderbyFiled = "[RecordDate] DESC";

            System.Text.StringBuilder where = new System.Text.StringBuilder();
            using (DbOperator dbOperator = new DbOperator(Provider, ConnectionString))
            {
                where.AppendFormat("[RecordDate] BETWEEN N'{0}' AND N'{1}'", stratDate, endDate.AddDays(1).AddTicks(-1));
                if (orderId.HasValue)
                {
                    where.AppendFormat(" AND [OrderId] = {0}", orderId);
                }
                dbOperator.AddParameter("@iField", fields);
                dbOperator.AddParameter("@iCatelog", catelog);
                dbOperator.AddParameter("@iCondition", where.ToString());
                dbOperator.AddParameter("@iOrderBy", orderbyFiled);
                dbOperator.AddParameter("@iPagesize", pagination.PageSize);
                dbOperator.AddParameter("@iPageIndex", pagination.PageIndex);
                dbOperator.AddParameter("@iGetCount", pagination.GetRowCount);
                var totalCount = dbOperator.AddParameter("@oTotalCount");
                totalCount.DbType    = System.Data.DbType.Int32;
                totalCount.Direction = System.Data.ParameterDirection.Output;
                using (var reader = dbOperator.ExecuteReader("dbo.P_Pagination", System.Data.CommandType.StoredProcedure))
                {
                    while (reader.Read())
                    {
                        var log = new DataTransferObject.Policy.ExternalPolicyLog();
                        log.OrderId          = reader.GetDecimal(0);
                        log.Id               = reader.GetString(1);
                        log.Platform         = (PlatformType)reader.GetByte(2);
                        log.Provider         = reader.GetGuid(3);
                        log.TicketType       = (TicketType)reader.GetByte(4);
                        log.RequireChangePNR = reader.GetBoolean(5);
                        log.Condition        = reader.GetString(6);
                        log.ETDZSpeed        = reader.GetInt32(7);
                        log.WorkStart        = Izual.Time.Parse(reader.GetValue(8).ToString());
                        log.WorkEnd          = Izual.Time.Parse(reader.GetValue(9).ToString());
                        log.ScrapStart       = Izual.Time.Parse(reader.GetValue(10).ToString());
                        log.ScrapEnd         = Izual.Time.Parse(reader.GetValue(11).ToString());
                        log.OriginalRebate   = reader.GetDecimal(12);
                        log.Rebate           = reader.GetDecimal(13);
                        log.ParValue         = reader.GetDecimal(14);
                        log.OfficeNo         = reader.IsDBNull(15) ? string.Empty : reader.GetString(15);
                        log.RequireAuth      = reader.GetBoolean(16);
                        log.RecordDate       = reader.GetDateTime(17);
                        log.OriginalContent  = reader.IsDBNull(18)?string.Empty:reader.GetString(18);
                        result.Add(log);
                    }
                }
                if (pagination.GetRowCount)
                {
                    pagination.RowCount = (int)totalCount.Value;
                }
            }
            return(result);
        }
Ejemplo n.º 19
0
 public static IEnumerable <System.DateTime> RangeOverDays(this System.DateTime startDate, int days)
 {
     // Subtract 1 from the days, as it is counter intuitive to request the range over X days, but have X+1 DateTimes returned
     return(startDate.Range(startDate.AddDays(days - 1), System.TimeSpan.FromDays(1)));
 }
Ejemplo n.º 20
0
        private DateTimeResolutionResult ParseTimeOfToday(string text, DateObject referenceTime)
        {
            var ret        = new DateTimeResolutionResult();
            var trimedText = text.ToLowerInvariant().Trim();

            int    hour = 0, min = 0, sec = 0;
            string timeStr;

            var wholeMatch = this.config.SimpleTimeOfTodayAfterRegex.Match(trimedText);

            if (!(wholeMatch.Success && wholeMatch.Length == trimedText.Length))
            {
                wholeMatch = this.config.SimpleTimeOfTodayBeforeRegex.Match(trimedText);
            }

            if (wholeMatch.Success && wholeMatch.Length == trimedText.Length)
            {
                var hourStr = wholeMatch.Groups["hour"].Value;
                if (string.IsNullOrEmpty(hourStr))
                {
                    hourStr = wholeMatch.Groups["hournum"].Value.ToLower();
                    hour    = this.config.Numbers[hourStr];
                }
                else
                {
                    hour = int.Parse(hourStr);
                }
                timeStr = "T" + hour.ToString("D2");
            }
            else
            {
                var ers = this.config.TimeExtractor.Extract(trimedText);
                if (ers.Count != 1)
                {
                    ers = this.config.TimeExtractor.Extract(this.config.TokenBeforeTime + trimedText);
                    if (ers.Count == 1)
                    {
                        ers[0].Start -= this.config.TokenBeforeTime.Length;
                    }
                    else
                    {
                        return(ret);
                    }
                }

                var pr = this.config.TimeParser.Parse(ers[0], referenceTime);
                if (pr.Value == null)
                {
                    return(ret);
                }

                var time = (DateObject)((DateTimeResolutionResult)pr.Value).FutureValue;

                hour    = time.Hour;
                min     = time.Minute;
                sec     = time.Second;
                timeStr = pr.TimexStr;
            }

            var match = this.config.SpecificTimeOfDayRegex.Match(trimedText);

            if (match.Success)
            {
                var matchStr = match.Value.ToLowerInvariant();

                // handle "last", "next"
                var swift = this.config.GetSwiftDay(matchStr);

                var date = referenceTime.AddDays(swift).Date;

                // handle "morning", "afternoon"
                hour = this.config.GetHour(matchStr, hour);

                // in this situation, luisStr cannot end up with "ampm", because we always have a "morning" or "night"
                if (timeStr.EndsWith("ampm"))
                {
                    timeStr = timeStr.Substring(0, timeStr.Length - 4);
                }
                timeStr = "T" + hour.ToString("D2") + timeStr.Substring(3);

                ret.Timex       = FormatUtil.FormatDate(date) + timeStr;
                ret.FutureValue = ret.PastValue = DateObject.MinValue.SafeCreateFromValue(date.Year, date.Month, date.Day, hour, min, sec);
                ret.Success     = true;
                return(ret);
            }

            return(ret);
        }
Ejemplo n.º 21
0
 public static System.DateTime EndOfMonth(this System.DateTime date)
 {
     return(date.AddDays(System.DateTime.DaysInMonth(date.Year, date.Month) - date.Day));
 }
Ejemplo n.º 22
0
 /// <summary>
 /// Adds the specified number of days to the value of this instance
 /// </summary>
 /// <param name="years">A number of days. value can be negative or positive</param>
 /// <returns>A Date whose value is the sum of the date represented
 /// by this instance and the number of days represented by value</returns>
 public Date AddDays(int days)
 {
     return(new Date(m_base.AddDays(days)));
 }
Ejemplo n.º 23
0
Archivo: Check.cs Proyecto: fberga/Iren
        private CheckOutput CheckFunc1()
        {
            Range rngCheck = new Range(_check.Range);

            DataView categoriaEntita = Workbook.Repository[DataBase.TAB.CATEGORIA_ENTITA].DefaultView;

            categoriaEntita.RowFilter = "SiglaEntita = '" + _check.SiglaEntita + "' AND IdApplicazione = " + Workbook.IdApplicazione;

            TreeNode n = new TreeNode(categoriaEntita[0]["DesEntita"].ToString());

            n.Name = _check.SiglaEntita;

            CheckOutput.CheckStatus status = CheckOutput.CheckStatus.Ok;

            System.DateTime giorno    = Workbook.DataAttiva;
            int             oreGiorno = Date.GetOreGiorno(giorno);

            string suffissoData = Date.GetSuffissoData(giorno);
            int    ora          = 1;

            TreeNode nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));

            for (int i = 0; i < rngCheck.ColOffset; i++)
            {
                //caricamento dati
                decimal ePPA            = GetDecimal(_check.SiglaEntita, "PEM", suffissoData, Date.GetSuffissoOra(ora));
                decimal ePSMaxAccettata = GetDecimal(_check.SiglaEntita, "PSMAX_ACCETTATA", suffissoData, Date.GetSuffissoOra(ora));
                decimal ePSMinAccettata = GetDecimal(_check.SiglaEntita, "PSMIN_ACCETTATA", suffissoData, Date.GetSuffissoOra(ora));

                decimal offG0V = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G0VE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG0A = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G0AE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG1V = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G1VE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG1A = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G1AE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG2V = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G2VE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG2A = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G2AE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG3V = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G3VE", suffissoData, Date.GetSuffissoOra(ora));
                decimal offG3A = GetDecimal(_check.SiglaEntita, "OFFERTA_MSD_G3AE", suffissoData, Date.GetSuffissoOra(ora));
                //fine caricameto dati

                TreeNode nOra = new TreeNode("Ora " + ora);

                bool errore     = false;
                bool attenzione = false;

                //controlli
                if (ePPA > ePSMaxAccettata)
                {
                    nOra.Nodes.Add("Programma di produzione superiore alla PMax Terna");
                    errore |= true;
                }
                if (ePSMaxAccettata < ePPA && ePPA < ePSMinAccettata && ePPA > 0)
                {
                    nOra.Nodes.Add("Programma di produzione non coerente con PMin-PMax Terna");
                    errore |= true;
                }
                if (offG0V < 0 || offG0A < 0 || offG1V < 0 || offG1A < 0 || offG2V < 0 || offG2A < 0 || offG3V < 0 || offG3A < 0)
                {
                    nOra.Nodes.Add("Offerta < 0");
                    errore |= true;
                }
                //fine controlli

                if (errore)
                {
                    ErrorStyle(ref nOra);
                    status = CheckOutput.CheckStatus.Error;
                }
                else if (attenzione)
                {
                    AlertStyle(ref nOra);
                    if (status != CheckOutput.CheckStatus.Error)
                    {
                        status = CheckOutput.CheckStatus.Alert;
                    }
                }

                nOra.Name = "'" + _ws.Name + "'!" + rngCheck.Columns[i].ToString();

                if (nOra.Nodes.Count > 0)
                {
                    nData.Nodes.Add(nOra);
                }

                string value = errore ? "ERRORE" : attenzione ? "ATTENZ." : "OK";
                _ws.Range[rngCheck.Columns[i].ToString()].Value = value;

                ora = ora < oreGiorno ? ora + 1 : 1;
                if (ora == 1)
                {
                    giorno       = giorno.AddDays(1);
                    oreGiorno    = Date.GetOreGiorno(giorno);
                    suffissoData = Date.GetSuffissoData(giorno);

                    if (nData.Nodes.Count > 0)
                    {
                        n.Nodes.Add(nData);
                    }

                    nData = new TreeNode(giorno.ToString("dd-MM-yyyy"));
                }
            }

            if (nData.Nodes.Count > 0)
            {
                n.Nodes.Add(nData);
            }

            if (n.Nodes.Count > 0)
            {
                return(new CheckOutput(n, status));
            }

            return(new CheckOutput());
        }