Exemplo n.º 1
0
        private ElementResponse AddElementChores(Element element, int year)
        {
            var elementGenericChores = element.ElementGenericChores;

            ElementResponse ElementResponse = new ElementResponse();

            ElementResponse.Chores      = new List <ChoreResponse>();
            ElementResponse.TotalChores = 0;

            List <Chore> AllChoresElement = new List <Chore>();


            foreach (ElementGenericChore elemenGChore in elementGenericChores)
            {
                NewChoresGuideline newChoresGuideline = new NewChoresGuideline();
                newChoresGuideline.GenericChore = elemenGChore.GenericChore;
                newChoresGuideline.ElementId    = element.Id;

                GenericChore gChore       = elemenGChore.GenericChore;
                Period       gChorePeriod = gChore.Period;

                Chore LastChore = GetLastChore(element.Id, gChore.Id, year);

                if (LastChore == null)
                {
                    newChoresGuideline.TimeSpanToAddChores = GetDefaultTimeSpan(year);
                }
                else if (IsTimeSpanIncomplete(LastChore, year) == true)
                {
                    newChoresGuideline.TimeSpanToAddChores = ResumeTimeSpan(LastChore);
                }
                else
                {
                    continue;
                }

                List <Chore> choresAdded = AddingElements(newChoresGuideline);

                AllChoresElement.AddRange(choresAdded);

                ChoreResponse choreResponse = new ChoreResponse();
                choreResponse.TotalChores = choresAdded.Count();
                choreResponse.Period      = newChoresGuideline.GenericChore.Period;

                ElementResponse.Chores.Add(choreResponse);
                ElementResponse.TotalChores += choreResponse.TotalChores;
            }

            InsertChoresToDatabase(AllChoresElement);
            _formatsService.AddFormatValuesToChores(AllChoresElement);

            return(ElementResponse);
        }
Exemplo n.º 2
0
        private Chore CreateChore(NewChoresGuideline guideline, DateTime startDate, DateTime endDate)
        {
            Chore Chore = new Chore()
            {
                Id             = Guid.NewGuid(),
                EntityStatus   = EntityStatus.Active,
                ElementId      = guideline.ElementId,
                StartDate      = startDate,
                EndDate        = endDate,
                GenericChoreId = guideline.GenericChore.Id,
                Status         = ChoreStatus.Undone,
                UserId         = null,
            };

            return(Chore);
        }
Exemplo n.º 3
0
        private List <Chore> CreateDailyChoreList(NewChoresGuideline guideline)
        {
            DateTime     endTimeSpan   = guideline.TimeSpanToAddChores.End;
            DateTime     startTimeSpan = guideline.TimeSpanToAddChores.Start;
            List <Chore> DailyChores   = new List <Chore>();

            for (DateTime d = startTimeSpan; d <= endTimeSpan; d = d.AddDays(1))
            {
                DateTime choreStartDate = d;
                DateTime choreEndDate   = new DateTime(d.Year, d.Month, d.Day, 23, 59, 59);

                Chore Chore = CreateChore(guideline, choreStartDate, choreEndDate);
                DailyChores.Add(Chore);
            }
            return(DailyChores);
        }
Exemplo n.º 4
0
        private List <Chore> CreateFourYearlyChoreList(NewChoresGuideline guideline)
        {
            DateTime     endTimeSpan          = guideline.TimeSpanToAddChores.End;
            DateTime     startTimeSpan        = guideline.TimeSpanToAddChores.Start;
            DateTime     firstDayOfFourYearly = GetFirstDayOfFourYearly(startTimeSpan);
            List <Chore> FourYearlyChores     = new List <Chore>();

            for (DateTime d = firstDayOfFourYearly; d <= endTimeSpan; d = d.AddYears(4))
            {
                DateTime choreStartDate = d;
                DateTime choreEndDate   = GetLastDayOffourYearly(d);

                Chore Chore = CreateChore(guideline, choreStartDate, choreEndDate);
                FourYearlyChores.Add(Chore);
            }
            return(FourYearlyChores);
        }
Exemplo n.º 5
0
        private List <Chore> CreateSemesterChoreList(NewChoresGuideline guideline)
        {
            DateTime     endTimeSpan        = guideline.TimeSpanToAddChores.End;
            DateTime     startTimeSpan      = guideline.TimeSpanToAddChores.Start;
            DateTime     firstDayOfSemester = GetFirstDayOfSemester(startTimeSpan);
            List <Chore> SemesterChores     = new List <Chore>();

            for (DateTime d = firstDayOfSemester; d <= endTimeSpan; d = d.AddMonths(6))
            {
                DateTime choreStartDate = d;
                DateTime choreEndDate   = GetLastDayOfSemester(d);

                Chore Chore = CreateChore(guideline, choreStartDate, choreEndDate);
                SemesterChores.Add(Chore);
            }
            return(SemesterChores);
        }
Exemplo n.º 6
0
        private List <Chore> CreateQuarterlyChoreList(NewChoresGuideline guideline)
        {
            DateTime     endTimeSpan         = guideline.TimeSpanToAddChores.End;
            DateTime     startTimeSpan       = guideline.TimeSpanToAddChores.Start;
            DateTime     firstDayOfQuarterly = GetFirstDayOfQuarterly(startTimeSpan);
            List <Chore> QuarterlyChores     = new List <Chore>();

            for (DateTime d = firstDayOfQuarterly; d <= endTimeSpan; d = d.AddMonths(3))
            {
                DateTime choreStartDate = d;
                DateTime choreEndDate   = GetLastDayOfQuarterly(d);

                Chore Chore = CreateChore(guideline, choreStartDate, choreEndDate);
                QuarterlyChores.Add(Chore);
            }
            return(QuarterlyChores);
        }
Exemplo n.º 7
0
        private List <Chore> CreateMonthlyChoreList(NewChoresGuideline guideline)
        {
            DateTime     endTimeSpan        = guideline.TimeSpanToAddChores.End;
            DateTime     startTimeSpan      = guideline.TimeSpanToAddChores.Start;
            DateTime     firstDayOfTheMonth = GetFirstDayOfMonth(startTimeSpan);
            List <Chore> MonthlyChores      = new List <Chore>();

            for (DateTime d = firstDayOfTheMonth; d <= endTimeSpan; d = d.AddMonths(1))
            {
                DateTime choreStartDate = d;
                DateTime choreEndDate   = GetLastDayOfMonth(d);

                Chore Chore = CreateChore(guideline, choreStartDate, choreEndDate);
                MonthlyChores.Add(Chore);
            }
            return(MonthlyChores);
        }
Exemplo n.º 8
0
        private List <Chore> AddingElements(NewChoresGuideline guideline)
        {
            Period       period   = guideline.GenericChore.Period;
            List <Chore> response = new List <Chore>();

            switch (period)
            {
            case Period.Daily:
                response.AddRange(CreateDailyChoreList(guideline));
                break;

            case Period.Weekly:
                response.AddRange(CreateWeeklyChoreList(guideline));
                break;

            case Period.Monthly:
                response.AddRange(CreateMonthlyChoreList(guideline));
                break;

            case Period.Bimonthly:
                response.AddRange(CreateBimonthlyChoreList(guideline));
                break;

            case Period.Quarterly:
                response.AddRange(CreateQuarterlyChoreList(guideline));
                break;

            case Period.Semester:
                response.AddRange(CreateSemesterChoreList(guideline));
                break;

            case Period.Yearly:
                response.AddRange(CreateYearlyChoreList(guideline));
                break;

            case Period.TwoYearly:
                response.AddRange(CreateTwoYearlyChoreList(guideline));
                break;

            case Period.FourYearly:
                response.AddRange(CreateFourYearlyChoreList(guideline));
                break;
            }
            return(response);
        }
Exemplo n.º 9
0
        private List <Chore> CreateWeeklyChoreList(NewChoresGuideline guideline)
        {
            DateTime     endTimeSpan     = guideline.TimeSpanToAddChores.End;
            DateTime     startTimeSpan   = guideline.TimeSpanToAddChores.Start;
            DateTime     dateFirstMonday = FirstMonday(startTimeSpan);
            List <Chore> WeeklyChores    = new List <Chore>();


            for (DateTime d = dateFirstMonday; d <= endTimeSpan; d = d.AddDays(7))
            {
                DateTime choreStartDate = d;
                DateTime choreEndDate   = GetLastDayOfWeek(d);

                Chore Chore = CreateChore(guideline, choreStartDate, choreEndDate);
                WeeklyChores.Add(Chore);
            }
            return(WeeklyChores);
        }