Ejemplo n.º 1
0
        private string GetCalendarBuiltString(DateTime dateTime)
        {
            var     resultString      = "";
            WeekDay weekDay           = GetDayNameFromDate(new DateTime(1, dateTime.Month, dateTime.Year));
            var     startValue        = DayNameWithIntCorrelation[weekDay.ToString()];
            var     firstPaddingValue = startValue * PADDING_VALUE + 1;

            for (int day = 1; day <= GetDaysFromMonthDate(dateTime);)
            {
                for (int i = startValue; i < 7 && day <= GetDaysFromMonthDate(dateTime); i++)
                {
                    var dayString = $"{day}";
                    if (IsDayWeekend(new DateTime(day, dateTime.Month, dateTime.Year)))
                    {
                        dayString += "*";
                    }
                    resultString     += $"{"".PadRight(firstPaddingValue)}{dayString.PadRight(PADDING_VALUE, ' ')} ";
                    firstPaddingValue = 0;
                    day++;
                }

                startValue    = 0;
                resultString += "\n";
            }

            return(resultString);
        }
Ejemplo n.º 2
0
        private string get(string[] message)
        {
            string  final;
            int     day     = message.Count() > 1 ? int.Parse(message[1]) : 0;
            WeekDay weekDay = day > 0 ?
                              (WeekDay)Enum.Parse(typeof(WeekDay), day.ToString()) :
                              (WeekDay)Enum.Parse(typeof(WeekDay), DateTime.Now.DayOfWeek.ToString());

            using (_context)
            {
                try
                {
                    EatedList Eated = _context.EatedLists.FirstOrDefault(x => x.WeekDay == weekDay);
                    if (Eated == null)
                    {
                        final = GetRestaurantName();
                        _context.EatedLists.Add(new EatedList()
                        {
                            WeekDay = weekDay, Restaurant = final
                        });
                        _context.SaveChanges();
                    }
                    else
                    {
                        final = Eated.Restaurant;
                    }
                    return(final);
                }
                catch (Exception)
                {
                    return("取得失敗");
                }
            }
        }
Ejemplo n.º 3
0
        private async void RefreshData_Tapped(object sender, TappedRoutedEventArgs e)
        {
            this.showProcessorRing();
            int num = await DataHelper.UpdateDataAsync() ? 1 : 0;

            List <Term> list1 = await Term.GetTermsAsync();

            List <Term> gradesTrend = list1;

            list1 = (List <Term>)null;
            this.DefaultViewModel["GradesTrend"] = (object)gradesTrend;
            this.DefaultViewModel["GradePoints"] = (object)Enumerable.Reverse <Term>((IEnumerable <Term>)gradesTrend);
            ObservableDictionary observableDictionary1 = this.DefaultViewModel;
            List <Exam>          list2 = await Exam.getExamsAsync();

            object obj1 = (object)list2;

            observableDictionary1["Exams"] = obj1;
            observableDictionary1          = (ObservableDictionary)null;
            list2 = (List <Exam>)null;
            obj1  = (object)null;
            ObservableDictionary observableDictionary2 = this.DefaultViewModel;
            List <WeekDay>       list3 = await WeekDay.GetWeekdaysAsync();

            object obj2 = (object)list3;

            observableDictionary2["WeekDays"] = obj2;
            observableDictionary2             = (ObservableDictionary)null;
            list3 = (List <WeekDay>)null;
            obj2  = (object)null;
            this.showStatisticalInfo();
            this.hideProcessorRing();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates a list of ParkTime.
        /// </summary>
        /// <param name="parkingtimes">List of ParkTime, maximum of 1 for each day of the week.</param>
        public ParkTimes(Dictionary <WeekDay, ParkTime> parkingtimes)
        {
            // Check if we have more than 7 ParkTime
            if (parkingtimes.Count <= 7)
            {
                // Check if any day is duplicated
                bool[] WeekDays = { false, false, false, false, false, false, false };
                foreach (ParkTime ParkingTime in parkingtimes.Values)
                {
                    // Get the WeekDay of the ParkTime
                    WeekDay ParkWeekDay = ParkingTime.WeekDay;

                    // Check if we already passed through it
                    if (WeekDays[(int)ParkWeekDay] == true)
                    {
                        throw new ArgumentException("There is a duplicate day in the list. This is not allowed.");
                    }
                    else
                    {
                        WeekDays[(int)ParkWeekDay] = true;
                    }
                }

                this.ParkingTimes = parkingtimes;
            }
            else
            {
                throw new ArgumentException("The ParkTime list cannot have more than 7 items.");
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Creates a new ParkTime object.
 /// </summary>
 /// <param name="weekday">The day of the week assigned to this time.</param>
 /// <param name="alwaysopen">Wether or not the park is open 24 hours in that day.</param>
 /// <param name="timeopen">The time the park opens.</param>
 /// <param name="timeclose">The time the park closes.</param>
 /// <example>For Thursday opening at 07h and closing at 21h30
 /// <code>
 /// ParkTime(WeekDay.Thursday, false, new TimeSpan(7, 0, 0), new TimeSpan(21, 30, 0);
 /// </code>
 /// </example>
 public ParkTime(WeekDay weekday, bool alwaysopen, TimeSpan timeopen, TimeSpan timeclose)
 {
     this.WeekDay    = weekday;
     this.AlwaysOpen = alwaysopen;
     this.TimeOpen   = timeopen;
     this.TimeClose  = timeclose;
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Adds a food item to a lunch menu for a given weekday.
        /// </summary>
        public static void AddFoodItemForWeekDay(LunchMenu lunchMenu,
                                                 WeekDay currentWeekDay,
                                                 LunchMenuFeature foodFeature,
                                                 LunchMenuFeature priceFeature = null)
        {
            var lunchMenuFoodItem = new LunchMenuFoodItem
            {
                FoodItem = Utils.HtmlDecode(foodFeature.InnerText).Trim()
            };

            if (priceFeature != null)
            {
                lunchMenuFoodItem.Price = ParsePrice(priceFeature.InnerText);
            }
            else
            {
                // TODO: parse food item and price from the same string
            }

            if (lunchMenu.FoodItems.ContainsKey(currentWeekDay))
            {
                lunchMenu.FoodItems[currentWeekDay].Add(lunchMenuFoodItem);
            }
            else
            {
                lunchMenu.FoodItems.Add(currentWeekDay, new List<LunchMenuFoodItem>
                {
                    lunchMenuFoodItem
                });
            }
        }
Ejemplo n.º 7
0
        public virtual int _GetUniqueIdentifier()
        {
            var hashCode = 399326290;

            hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TotalUnits?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Description?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Result?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (LeadTime?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (WeekDay?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (StockOnHandDate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (StockOnHand?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (OrderQuantity?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (SalesQuantity?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (QuantitySalesForecast?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (StockOnHandDateFormatted?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (SupplierStock?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (QuantitySum?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (SalesForecastDate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (SalesForecastDateFormatted?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Threshold?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (OrderDate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (OrderDateFormatted?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (RealOrderQuantity?.GetHashCode() ?? 0);
            return(hashCode);
        }
Ejemplo n.º 8
0
        private bool ContainsDayOfWeek(DayOfWeek dayOfWeek, WeekDay weekDay)
        {
            var dayOfWeekStr = dayOfWeek.ToString();
            var weekDaysStr  = weekDay.ToString();

            return(weekDaysStr.Contains(dayOfWeekStr));
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            //4. Wrap the above statement in a try/catch block and have it print "Please enter an actual day of the week." to the console if an error occurs.
Start:
            try
            {
                //2. Prompt the user to enter the current day of the week.
                Console.WriteLine("Please enter the current day of the week: \n");

                //3. Assign the value to a variable of that enum data type you just created.
                string input = Convert.ToString(Console.ReadLine().ToLower());

                // parse enum and user input
                WeekDay weekday = (WeekDay)Enum.Parse(typeof(WeekDay), input);

                Console.WriteLine("Good job! Press enter to quit!");
                Console.ReadLine();
            }
            catch (Exception)
            {
                Console.WriteLine("\n\nError! Please enter an actual day of the week!");
                Console.Write("Would you like to retry? Enter \"yes\" to continue or click \"enter\" on your keyboard to quit: ");
                string response = Console.ReadLine();
                if (response == "yes" || response == "Yes" || response == "YES")
                {
                    goto Start;
                }
            }



            //Note - In the last video, we explained the underlying concepts behinds enums.Nobody knows everything about a programming language and its features, so it's our job as programmers to do research on how to work with various data types, classes and libraries. For this drill, you'll need to do some additional research on how to parse enums.
        }
Ejemplo n.º 10
0
        public static int CountWeekDayOccurrencesInTheMonth(int year, int month, WeekDay weekDay)
        {
            var count = 0;

            // Sum occurrences in the first 28 days
            SumIfHasFlags(ref count, weekDay, 4, WeekDay.Sunday, WeekDay.Monday, WeekDay.Tuesday, WeekDay.Wednesday, WeekDay.Thursday, WeekDay.Friday, WeekDay.Saturday);

            // Check last three days of the month
            var lastDay = DateTime.DaysInMonth(year, month);

            if (lastDay >= 29)
            {
                SumIfHasFlag(ref count, weekDay, new DateTime(year, month, 29).DayOfWeek);
            }
            if (lastDay >= 30)
            {
                SumIfHasFlag(ref count, weekDay, new DateTime(year, month, 30).DayOfWeek);
            }
            if (lastDay >= 31)
            {
                SumIfHasFlag(ref count, weekDay, new DateTime(year, month, 31).DayOfWeek);
            }

            return(count);
        }
Ejemplo n.º 11
0
        static bool IsAttractionOpened(WeekDay weekDay, Attractions attraction)
        {
            switch (attraction)
            {
            case Attractions.Batman:
                if (WeekDay.Monday == weekDay || WeekDay.Wednesday == weekDay || WeekDay.Friday == weekDay)
                {
                    return(true);
                }
                break;

            case Attractions.Swan:
                if (weekDay == WeekDay.Tuesday || weekDay == WeekDay.Wednesday || weekDay == WeekDay.Thursday)
                {
                    return(true);
                }
                break;

            case Attractions.Pony:
                if (weekDay != WeekDay.Sunday)
                {
                    return(true);
                }
                break;

            default:
                return(false);
            }

            return(false);
        }
Ejemplo n.º 12
0
        public void OfType_IsSame()
        {
            IEnumerable <int> actual   = WeekDay.GetItems().OfType();
            IEnumerable <int> expected = WeekDay.GetItems().Select(x => x.Value);

            Assert.That(actual, Is.EqualTo(expected));
        }
Ejemplo n.º 13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PeriodicSchedule" /> class.
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="month">The month.</param>
 /// <param name="week">The week.</param>
 /// <param name="day">The day.</param>
 /// <param name="weekDay">The week day.</param>
 /// <param name="hour">The hour.</param>
 /// <param name="minute">The minute.</param>
 /// <param name="second">The second.</param>
 /// <param name="minimumGap">The minimum gap.</param>
 /// <param name="calendar">The calendar.</param>
 /// <param name="timeZone">The time zone.</param>
 /// <param name="options">The options.</param>
 public PeriodicSchedule(
     [CanBeNull] string name,
     Month month         = Month.Every,
     Week week           = Week.Every,
     Day day             = Day.Every,
     WeekDay weekDay     = WeekDay.Every,
     Hour hour           = Hour.Zeroth,
     Minute minute       = Minute.Zeroth,
     Second second       = Second.Zeroth,
     Duration minimumGap = default(Duration),
     [CanBeNull] CalendarSystem calendar = null,
     [CanBeNull] DateTimeZone timeZone   = null,
     ScheduleOptions options             = ScheduleOptions.None)
     : this(
         month,
         week,
         day,
         weekDay,
         hour,
         minute,
         second,
         minimumGap < Duration.Zero ? Duration.Zero : minimumGap,
         // ReSharper disable AssignNullToNotNullAttribute
         calendar ?? CalendarSystem.Iso,
         timeZone ?? DateTimeZone.Utc,
         // ReSharper restore AssignNullToNotNullAttribute
         options,
         name)
 {
 }
Ejemplo n.º 14
0
        private static void Main(string[] args)
        {
            string  weekDayName = WeekDay.Monday.ToString();
            WeekDay day         = WeekDay.Sunday;

            Console.WriteLine((int)day);
        }
Ejemplo n.º 15
0
        public void GetItems_Returns_AreEuqal()
        {
            IEnumerable <WeekDay> expected = weekDays;
            IEnumerable <WeekDay> actual   = WeekDay.GetItems();

            CollectionAssert.AreEqual(expected, actual);
        }
Ejemplo n.º 16
0
        public async Task <bool> AddOrUpdateWeekDays()
        {
            bool success = false;

            foreach (var srcWeekDay in SourceWeekDays)
            {
                WeekDay weekDay = await TargetDays.FindAsync(wk => wk.WeekDayID == srcWeekDay.WeekDaysId);

                if (weekDay == null)
                {
                    success = await AddWeekDay(new WeekDay
                    {
                        WeekDayID     = srcWeekDay.WeekDaysId,
                        WeekDayName   = srcWeekDay.WeekDayName,
                        IsDispatchDay = (srcWeekDay.WeekDaysId > 1) || (srcWeekDay.WeekDaysId < 7)   // we assume 1=sun and 7=sat
                    });
                }
                else
                {
                    weekDay.WeekDayName = srcWeekDay.WeekDayName;
                    success             = await UpdateWeekDay(weekDay);
                }
            }

            return(success);
        }
Ejemplo n.º 17
0
        internal static string ToSerializedValue(this WeekDay value)
        {
            switch (value)
            {
            case WeekDay.Sunday:
                return("Sunday");

            case WeekDay.Monday:
                return("Monday");

            case WeekDay.Tuesday:
                return("Tuesday");

            case WeekDay.Wednesday:
                return("Wednesday");

            case WeekDay.Thursday:
                return("Thursday");

            case WeekDay.Friday:
                return("Friday");

            case WeekDay.Saturday:
                return("Saturday");
            }
            return(null);
        }
        public async Task <IActionResult> Edit(int id, [Bind("ID,Nazov")] WeekDay weekDay)
        {
            if (id != weekDay.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(weekDay);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!WeekDayExists(weekDay.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(weekDay));
        }
Ejemplo n.º 19
0
 private static void SumIfHasFlag(ref int count, WeekDay weekDay, DayOfWeek dayToCheck)
 {
     if (weekDay.HasFlag(Convert(dayToCheck)))
     {
         count++;
     }
 }
Ejemplo n.º 20
0
        public static void Ex12()
        {
            /*
             * Napisz program, który pobierze numer dnia tygodnia i wyświetli jego nazwę
             */
            int     day     = 0;
            WeekDay weekDay = WeekDay.Unassigned;

            while (day <= 0)
            {
                Console.Write("Enter the day of the week: ");
                string result = Console.ReadLine();
                day = int.Parse(result);

                if (Enum.IsDefined(typeof(WeekDay), day) && (day > 0 && day <= 7))
                {
                    weekDay = (WeekDay)Enum.Parse(typeof(WeekDay), result);
                    Console.WriteLine($"\nDay {day} is {weekDay}");
                }
                else
                {
                    day = 0;
                    Console.WriteLine("Podano nieprawidłową wartość. Spróbuj ponownie...");
                    Thread.Sleep(500);
                    Console.Clear();
                }
            }
        }
Ejemplo n.º 21
0
        public async Task <IActionResult> PutWeekDay([FromRoute] int id, [FromBody] WeekDay weekDay)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (id != weekDay.ID)
            {
                return(BadRequest());
            }

            _context.Entry(weekDay).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!WeekDayExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(NoContent());
        }
Ejemplo n.º 22
0
        private string get()
        {
            string final;

            using (_context)
            {
                try
                {
                    WeekDay weekDay = (WeekDay)Enum.Parse(typeof(WeekDay), DateTime.Now.DayOfWeek.ToString());

                    EatedList Eated = _context.EatedLists.FirstOrDefault(x => x.WeekDay == weekDay);
                    final = GetRestaurantName();
                    if (Eated != null)
                    {
                        _context.EatedLists.Remove(Eated);
                    }
                    _context.EatedLists.Add(new EatedList()
                    {
                        WeekDay = weekDay, Restaurant = final
                    });
                    _context.SaveChanges();
                    return(final);
                }
                catch (Exception)
                {
                    return("取得失敗");
                }
            }
        }
Ejemplo n.º 23
0
        public void ToValueList_IsSame()
        {
            List <int> actual   = WeekDay.GetItems().ToValueList();
            List <int> expected = WeekDay.GetItems().Select(x => x.Value).ToList();

            Assert.That(actual, Is.EqualTo(expected));
        }
Ejemplo n.º 24
0
        static void AddCalendarEvent(string eventName, DayOfWeek dayOfWeek, WeekDay weekDay)
        {
            // Genom att skriva switch tab tab och sedan lägger in dayOfWeek i parentesen och trycker Enter Enter så printas hela färdiga switch statement ut enligt nedan:
            switch (dayOfWeek)
            {
            case DayOfWeek.Sunday:
                break;

            case DayOfWeek.Monday:
                Console.WriteLine(eventName);
                Console.WriteLine((int)dayOfWeek);   // 1
                Console.WriteLine((int)weekDay);     // 10 (se ovan)
                break;

            case DayOfWeek.Tuesday:
                break;

            case DayOfWeek.Wednesday:
                break;

            case DayOfWeek.Thursday:
                break;

            case DayOfWeek.Friday:
                break;

            case DayOfWeek.Saturday:
                break;

            default:
                break;
            }
        }
Ejemplo n.º 25
0
        public static bool SameDay(WeekDay weekDay, DayOfWeek dayOfWeek)
        {
            switch (dayOfWeek)
            {
            default: return(false);

            case DayOfWeek.Sunday:
                return(weekDay.HasFlag(WeekDay.Sunday));

            case DayOfWeek.Monday:
                return(weekDay.HasFlag(WeekDay.Monday));

            case DayOfWeek.Tuesday:
                return(weekDay.HasFlag(WeekDay.Tuesday));

            case DayOfWeek.Wednesday:
                return(weekDay.HasFlag(WeekDay.Wednesday));

            case DayOfWeek.Thursday:
                return(weekDay.HasFlag(WeekDay.Thursday));

            case DayOfWeek.Friday:
                return(weekDay.HasFlag(WeekDay.Friday));

            case DayOfWeek.Saturday:
                return(weekDay.HasFlag(WeekDay.Saturday));
            }
        }
Ejemplo n.º 26
0
        public IActionResult SaveMeal(int dayIndex, int mealIndex, string mealName)
        {
            System.Diagnostics.Debug.WriteLine(mealName);
            WeekplanViewModel planModel = GetWeekplanViewModel();

            planModel.WeekPlan.WeekDays
            .ElementAt(dayIndex).Meals
            .ElementAt(mealIndex).Name = mealName;

            SaveWeekplanViewModel(planModel);
            System.Diagnostics.Debug.WriteLine("Logging my current weekplan from SaveMeal");
            System.Diagnostics.Debug.WriteLine(JsonConvert.SerializeObject(GetWeekplanViewModel(), new JsonSerializerSettings()
            {
                PreserveReferencesHandling = PreserveReferencesHandling.Objects,
                Formatting = Formatting.Indented
            }));

            WeekDay          day          = GetWeekplanViewModel().WeekPlan.WeekDays.ElementAt(dayIndex);
            WeekdayViewModel newViewModel = new WeekdayViewModel
            {
                day      = day,
                dayIndex = dayIndex
            };

            return(View("EditWeekday", newViewModel));
        }
Ejemplo n.º 27
0
        public void SwitchCases()
        {
            int input = 5;

            switch (input)
            {
            case 1:
                Console.WriteLine("Hello");
                break;

            case 2:
                Console.WriteLine("This is option 2");
                break;
            }

            WeekDay today = WeekDay.Sunday;

            switch (today)
            {
            case WeekDay.Monday:
            case WeekDay.Tuesday:
            case WeekDay.Wednesday:
            case WeekDay.Thursday:
            case WeekDay.Friday:
                Console.WriteLine("Hope you're ready to put in some work!");
                break;

            case WeekDay.Sunday:
            case WeekDay.Saturday:
                Console.WriteLine("Enjoy your weekend");
                break;
            }
        }
Ejemplo n.º 28
0
        public WidgetDTO(Widget widget)
        {
            ID                = widget.ID.ToString();
            Email             = widget.User.UserID;
            WidgetName        = widget.WidgetName;
            ConnectedTo       = widget.ConnectedTo;
            Status            = widget.Status;
            TalkToUsText      = widget.TalkToUsText;
            ColorWidget       = widget.ColorWidget;
            ColorText         = widget.ColorText;
            IsAnimated        = widget.IsAnimated;
            CallsCount        = widget.CallsCount;
            CallsCountMonth   = widget.CallsCountMonth;
            DomainUrl         = widget.DomainURL;
            AuthKey           = widget.AuthKey;
            Extension         = widget.Extension;
            NotificationEmail = widget.NotificationEmail;
            subscriptionId    = widget.subscriptionId;

            string week_days = widget.WeekDays;

            if (string.IsNullOrEmpty(week_days))
            {
                week_days = "Monday|True|09:00|17:00$Tuesday|True|09:00|17:00$Wednesday|True|09:00|17:00$Thursday|True|09:00|17:00$Friday|True|09:00|17:00$Saturday|False|09:00|17:00$Sunday|False|09:00|17:00$";
            }

            List <WeekDay> dayList = WeekDay.GetFromString(week_days);

            WeekDays = new WeekDay[dayList.Count];
            for (int i = 0; i < WeekDays.Length; i++)
            {
                WeekDays[i] = dayList[i];
            }
        }
Ejemplo n.º 29
0
 static void Main(string[] args)
 {
     try
     {
         Console.WriteLine("Please enter the current day of the week (1-7): ");
         int userInput = Convert.ToInt32(Console.ReadLine());
         if (userInput > 0 && userInput < 8)
         {
             WeekDay currentDay = (WeekDay)userInput;
             Console.WriteLine(currentDay);
         }
         else
         {
             Console.WriteLine("Please enter a valid day of the week...");
         }
     }
     catch (FormatException X)
     {
         Console.WriteLine("Please enter a valid day of the week...");
     }
     catch (ArgumentException X)
     {
         Console.WriteLine(X.Message);
     }
     Console.ReadLine();
 }
Ejemplo n.º 30
0
        private bool IsToday(WeekDay day)
        {
            switch (DateTime.Now.DayOfWeek)
            {
            default: return(false);

            case DayOfWeek.Sunday:
                return(day.HasFlag(WeekDay.Sunday));

            case DayOfWeek.Monday:
                return(day.HasFlag(WeekDay.Monday));

            case DayOfWeek.Tuesday:
                return(day.HasFlag(WeekDay.Tuesday));

            case DayOfWeek.Wednesday:
                return(day.HasFlag(WeekDay.Wednesday));

            case DayOfWeek.Thursday:
                return(day.HasFlag(WeekDay.Thursday));

            case DayOfWeek.Friday:
                return(day.HasFlag(WeekDay.Friday));

            case DayOfWeek.Saturday:
                return(day.HasFlag(WeekDay.Saturday));
            }
        }
Ejemplo n.º 31
0
        public static void WorkWithWorkWeek()
        {
            // ExStart
            // ExFor: WorkWeek
            // ExFor: WorkWeek.#ctor
            // ExFor: WorkWeek.Name
            // ExFor: WorkWeek.ParentCalendar
            // ExFor: WorkWeek.FromDate
            // ExFor: WorkWeek.ToDate
            // ExFor: WorkWeek.WeekDays
            // ExSummary: Shows how to read work week information from the project.
            var project  = new Project();
            var calendar = project.Calendars.Add("Standard");

            Calendar.MakeStandardCalendar(calendar);

            var item = new WorkWeek(calendar);

            item.Name     = "My Work Week";
            item.FromDate = new DateTime(2020, 4, 13, 8, 0, 0);
            item.ToDate   = new DateTime(2020, 4, 17, 17, 0, 0);
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday));
            item.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Friday));
            item.WeekDays.Add(new WeekDay(DayType.Saturday));
            item.WeekDays.Add(new WeekDay(DayType.Sunday));
            calendar.WorkWeeks.Add(item);

            Console.WriteLine("Work Week Number: " + calendar.WeekDays.Count);
            foreach (var workWeek in calendar.WorkWeeks)
            {
                // Display work week name, parent calendar name, from, and to dates
                Console.WriteLine("Name: " + workWeek.Name);
                Console.WriteLine("Parent calendar name: " + workWeek.ParentCalendar.Name);
                Console.WriteLine("From Date: " + workWeek.FromDate);
                Console.WriteLine("To Date: " + workWeek.ToDate);
                Console.WriteLine();

                // This data is all about "Details." button you can set special working times for special WeekDay or even make it nonworking
                List <WeekDay> weekDays = workWeek.WeekDays.ToList();
                foreach (var day in weekDays)
                {
                    Console.WriteLine(day.DayType.ToString());

                    // You can further traverse through working times and display these
                    foreach (var workingTime in day.WorkingTimes)
                    {
                        Console.WriteLine(workingTime.FromTime);
                        Console.WriteLine(workingTime.ToTime);
                    }
                }

                Console.WriteLine();
            }

            // ExEnd
        }
Ejemplo n.º 32
0
 public static void UpdateTime(Guid _userId, WeekDay _flags, DateTime _date)
 {
     PCMSofCCDataContext db = new PCMSofCCDataContext();
     var t = db.AvailableDay.Single(x => x.UserId == _userId);
     t.SubmitDate = _date;
     t.AvailableDayFlag = (int)_flags;
     db.SubmitChanges();
 }
Ejemplo n.º 33
0
        public ClassInstance(Class classData, ClassType classType, TimeSpan from, TimeSpan to, string room, WeekDay day, WeekType weekType, Teacher teacher, string uid = "")
        {
            this.classData = classData;
            this.classType = classType;
            this.from = from;
            this.to = to;
            this.room = room;
            this.weekDay = day;
            this.weekType = weekType;
            this.teacher = teacher;

            if (string.IsNullOrWhiteSpace(uid))
                this.uid = Guid.NewGuid().ToString();
            else
                this.uid = uid;
        }
        public static void Run()
        {
            // ExStart:DefineWeekdaysForCalendar
            // This example shows how Aspose.Tasks API can be used to define a new Calendar, add week days to it and define working times for days
            // Create a project instance
            Project project = new Project();

            // Define Calendar
            Aspose.Tasks.Calendar cal = project.Calendars.Add("Calendar1");

            // Add working days monday through thursday with default timings
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday));
            cal.WeekDays.Add(new WeekDay(DayType.Saturday));
            cal.WeekDays.Add(new WeekDay(DayType.Sunday));

            // Set friday as short working day
            WeekDay myWeekDay = new WeekDay(DayType.Friday);

            // Sets working time. Only time part of DateTime is important
            WorkingTime wt1 = new WorkingTime();
            wt1.FromTime = new DateTime(1, 1, 1, 9, 0, 0, 0);
            wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0);
            WorkingTime wt2 = new WorkingTime();
            wt2.FromTime = new DateTime(1, 1, 1, 13, 0, 0, 0);
            wt2.ToTime = new DateTime(1, 1, 1, 16, 0, 0, 0);
            myWeekDay.WorkingTimes.Add(wt1);
            myWeekDay.WorkingTimes.Add(wt2);
            myWeekDay.DayWorking = true;
            cal.WeekDays.Add(myWeekDay);

            // Save the Project
            string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);
            project.Save("Project_DefineCalendarWeekdays_out.xml", Aspose.Tasks.Saving.SaveFileFormat.XML);
            // ExEnd:DefineWeekdaysForCalendar
        }
Ejemplo n.º 35
0
 private bool ContainsDay(WeekDay day)
 {
     return ((int)_days & (int)day) == (int)day;
 }
Ejemplo n.º 36
0
            public static WeekDay Parse(string iCalStrValue)
            {
                var d = new WeekDay();
                string day = iCalStrValue.Substring(iCalStrValue.Length - 2);

                if (iCalStrValue.Length > 2)
                {
                    d.Id = iCalStrValue.Substring(iCalStrValue.Length - 2).ToLower();
                    d.Number = Convert.ToInt32(iCalStrValue.Substring(0, iCalStrValue.Length - 2));
                }
                else
                {
                    d.Id = iCalStrValue;
                    d.Number = null;
                }
                return d;
            }
Ejemplo n.º 37
0
 public RecurrenceRule()
 {
     this.Freq = Frequency.Never;
     this.Until = DateTime.MinValue;
     this.Count = -1;
     this.Interval = 1;
     this.WKST = WeekDay.Parse("mo");
     this.ExDates = new List<ExDate>();
 }
Ejemplo n.º 38
0
 public WeekDayMask(string weekdays)
 {
     mask = GetWeekDayMask(weekdays);
 }
Ejemplo n.º 39
0
 public bool Contains(WeekDay day)
 {
     return ((day & mask) != WeekDay.None);
 }
Ejemplo n.º 40
0
 private bool IsDaySet(WeekDay day)
 {
     return ((int)_schedule.Days & (int)day) == (int)day;
 }
Ejemplo n.º 41
0
        /// <summary>
        /// Get's the next valid second after the current .
        /// </summary>
        /// <param name="dateTime">The date time (fractions of a second are removed).</param>
        /// <param name="month">The month.</param>
        /// <param name="week">The week.</param>
        /// <param name="day">The day.</param>
        /// <param name="weekDay">The week day.</param>
        /// <param name="hour">The hour.</param>
        /// <param name="minute">The minute.</param>
        /// <param name="second">The second.</param>
        /// <param name="calendar">The calendar.</param>
        /// <param name="calendarWeekRule">The calendar week rule.</param>
        /// <param name="firstDayOfWeek">The first day of week.</param>
        /// <param name="inclusive">if set to <c>true</c> can return the time specified, otherwise, starts at the next second..</param>
        /// <returns>
        /// The next valid date (or <see cref="DateTime.MaxValue"/> if none).
        /// </returns>
        public static DateTime NextValid(
                this DateTime dateTime,
                Month month = Month.Every,
                Week week = Week.Every,
                Day day = Day.Every,
                WeekDay weekDay = WeekDay.Every,
                Hour hour = Hour.Zeroth,
                Minute minute = Minute.Zeroth,
                Second second = Second.Zeroth,
                Calendar calendar = null,
                CalendarWeekRule calendarWeekRule = CalendarWeekRule.FirstFourDayWeek,
                DayOfWeek firstDayOfWeek = DayOfWeek.Sunday,
                bool inclusive = false)
        {
            // Never case, if any are set to never, we'll never get a valid date.
            if ((month == Month.Never) || (week == Week.Never) ||
                (day == Day.Never) || (weekDay == WeekDay.Never) || (hour == Hour.Never) ||
                (minute == Minute.Never) ||
                (second == Second.Never))
                return DateTime.MaxValue;

            if (calendar == null)
                calendar = CultureInfo.CurrentCulture.Calendar;

            // Set the time to this second (or the next one if not inclusive), remove fractions of a second.
            dateTime = new DateTime(
                    dateTime.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second);
            if (!inclusive)
                dateTime = calendar.AddSeconds(dateTime, 1);

            // Every second case.
            if ((month == Month.Every) && (day == Day.Every) && (weekDay == WeekDay.Every) && (hour == Hour.Every) &&
                (minute == Minute.Every) && (second == Second.Every) &&
                (week == Week.Every))
                return calendar.AddSeconds(dateTime, 1);

            // Get days and months.
            IEnumerable<int> days = day.Days().OrderBy(dy => dy);
            IEnumerable<int> months = month.Months();

            // Remove months where the first day isn't in the month.
            int firstDay = days.First();
            if (firstDay > 28)
            {
                // 2000 is a leap year, so February has 29 days.
                months = months.Where(mn => calendar.GetDaysInMonth(2000, mn) >= firstDay);
                if (months.Count() < 1)
                    return DateTime.MaxValue;
            }

            // Get remaining date components.
            int y = calendar.GetYear(dateTime);
            int m = calendar.GetMonth(dateTime);
            int d = calendar.GetDayOfMonth(dateTime);

            int h = calendar.GetHour(dateTime);
            int n = calendar.GetMinute(dateTime);
            int s = calendar.GetSecond(dateTime);

            IEnumerable<int> weeks = week.Weeks();
            IEnumerable<DayOfWeek> weekDays = weekDay.WeekDays();
            IEnumerable<int> hours = hour.Hours().OrderBy(i => i);
            IEnumerable<int> minutes = minute.Minutes().OrderBy(i => i);
            IEnumerable<int> seconds = second.Seconds();
            
            do
            {
                foreach (int currentMonth in months)
                {
                    if (currentMonth < m)
                        continue;
                    if (currentMonth > m)
                    {
                        d = 1;
                        h = n = s = 0;
                    }
                    m = currentMonth;
                    foreach (int currentDay in days)
                    {
                        if (currentDay < d)
                            continue;
                        if (currentDay > d)
                            h = n = s = 0;
                        d = currentDay;

                        // Check day is valid for this month.
                        if ((d > 28) && (d > calendar.GetDaysInMonth(y, m)))
                            break;

                        // We have a potential day, check week and week day
                        dateTime = new DateTime(y, m, d, h, n, s);
                        if ((week != Week.Every) &&
                            (!weeks.Contains(dateTime.WeekNumber(calendar, calendarWeekRule, firstDayOfWeek))))
                            continue;
                        if ((weekDay != WeekDay.Every) &&
                            (!weekDays.Contains(calendar.GetDayOfWeek(dateTime))))
                            continue;

                        // We have a date match, check time.
                        foreach (int currentHour in hours)
                        {
                            if (currentHour < h) continue;
                            if (currentHour > h)
                                n = s = 0;
                            h = currentHour;
                            foreach (int currentMinute in minutes)
                            {
                                if (currentMinute < n) continue;
                                if (currentMinute > n)
                                    s = 0;
                                n = currentMinute;
                                foreach (int currentSecond in seconds)
                                {
                                    if (currentSecond < s) continue;
                                    return new DateTime(y, m, d, h, n, currentSecond, calendar);
                                }
                                n = s = 0;
                            }
                            h = n = s = 0;
                        }
                        d = 1;
                    }
                    d = 1;
                    h = n = s = 0;
                }
                y++;

                // Don't bother checking max year.
                if (y > 9998)
                    return DateTime.MaxValue;

                // Start next year
                m = d = 1;
                h = n = s = 0;
            } while (true);
        }
Ejemplo n.º 42
0
 private void RemoveDay(WeekDay day)
 {
     _schedule.Days = (WeekDay)((int)_schedule.Days & ~((int)day));
 }
Ejemplo n.º 43
0
 private void SetDay(WeekDay day)
 {
     _schedule.Days = (WeekDay)((int)_schedule.Days | (int)day);
 }
Ejemplo n.º 44
0
 private void SetRemoveDay(WeekDay day, bool set)
 {
     if(set) {
         SetDay(day);
     }
     else {
         RemoveDay(day);
     }
 }
 public void WeekDay1()
 {
     WeekDay ds = new WeekDay(DayOfWeek.Monday, FrequencyOccurrence.First);
     SerializeTest(ds, "WeekDay1.xml");
 }
Ejemplo n.º 46
0
        public static Instant NextValid(
            this Instant instant,
            Month month = Month.Every,
            Week week = Week.Every,
            Day day = Day.Every,
            WeekDay weekDay = WeekDay.Every,
            Hour hour = Hour.Zeroth,
            Minute minute = Minute.Zeroth,
            Second second = Second.Zeroth,
            [CanBeNull] CalendarSystem calendarSystem = null,
            [CanBeNull] DateTimeZone timeZone = null)
        {
            // Never case, if any are set to never, we'll never get a valid date.
            if ((month == Month.Never) ||
                (week == Week.Never) ||
                (day == Day.Never) ||
                (weekDay == WeekDay.Never) ||
                (hour == Hour.Never) ||
                (minute == Minute.Never) ||
                (second == Second.Never))
                return Instant.MaxValue;

            if (calendarSystem == null)
                calendarSystem = CalendarSystem.Iso;
            if (timeZone == null)
                timeZone = DateTimeZone.Utc;
            Debug.Assert(calendarSystem != null);
            Debug.Assert(timeZone != null);

            // Move to next second.
            instant = instant.CeilingSecond();

            // Every second case.
            if ((month == Month.Every) &&
                (day == Day.Every) &&
                (weekDay == WeekDay.Every) &&
                (hour == Hour.Every) &&
                (minute == Minute.Every) &&
                (second == Second.Every) &&
                (week == Week.Every))
                return instant;

            // Get days and months.
            int[] days = Days(day).OrderBy(dy => dy).ToArray();
            int[] months = month.Months().ToArray();

            // Remove months where the first day isn't in the month.
            int firstDay = days.First();
            if (firstDay > 28)
            {
                // 2000 is a leap year, so February has 29 days.
                months = months.Where(mn => calendarSystem.GetDaysInMonth(2000, mn) >= firstDay).ToArray();
                if (months.Length < 1)
                    return Instant.MaxValue;
            }

            // Get zoned date time.
            ZonedDateTime zdt = new ZonedDateTime(instant, timeZone, calendarSystem);
            int y = zdt.Year;
            int m = zdt.Month;
            int d = zdt.Day;
            int h = zdt.Hour;
            int n = zdt.Minute;
            int s = zdt.Second;

            int[] weeks = week.Weeks().ToArray();

            IsoDayOfWeek[] weekDays = weekDay.WeekDays().ToArray();
            int[] hours = hour.Hours().OrderBy(i => i).ToArray();
            int[] minutes = minute.Minutes().OrderBy(i => i).ToArray();
            int[] seconds = second.Seconds().ToArray();

            do
            {
                foreach (int currentMonth in months)
                {
                    if (currentMonth < m)
                        continue;
                    if (currentMonth > m)
                    {
                        d = 1;
                        h = n = s = 0;
                    }
                    m = currentMonth;
                    foreach (int currentDay in days)
                    {
                        if (currentDay < d)
                            continue;
                        if (currentDay > d)
                            h = n = s = 0;
                        d = currentDay;

                        // Check day is valid for this month.
                        if (d > calendarSystem.GetDaysInMonth(y, m))
                            break;

                        // We have a potential day, check week and week day
                        zdt = timeZone.AtLeniently(new LocalDateTime(y, m, d, h, n, s, calendarSystem));
                        if ((week != Week.Every) &&
                            (!weeks.Contains(zdt.WeekOfWeekYear)))
                            continue;
                        if ((weekDay != WeekDay.Every) &&
                            (!weekDays.Contains(zdt.IsoDayOfWeek)))
                            continue;

                        // We have a date match, check time.
                        foreach (int currentHour in hours)
                        {
                            if (currentHour < h) continue;
                            if (currentHour > h)
                                n = s = 0;
                            h = currentHour;
                            foreach (int currentMinute in minutes)
                            {
                                if (currentMinute < n) continue;
                                if (currentMinute > n)
                                    s = 0;
                                n = currentMinute;
                                foreach (int currentSecond in seconds)
                                {
                                    if (currentSecond < s) continue;
                                    return
                                        timeZone.AtLeniently(
                                            new LocalDateTime(y, m, d, h, n, currentSecond, calendarSystem)).ToInstant();
                                }
                                n = s = 0;
                            }
                            h = n = s = 0;
                        }
                        d = 1;
                    }
                    d = 1;
                    h = n = s = 0;
                }
                y++;

                // Don't bother checking max year.
                if (y >= calendarSystem.MaxYear)
                    return Instant.MaxValue;

                // Start next year
                m = d = 1;
                h = n = s = 0;
            } while (true);
        }