Require a C# Windows Service using Entity Framework in Unit of Work pattern
£20-250 GBP
Paid on delivery
Intro
We have an event planner application that has many events that appear throughout the year. Our editors create these events, but some events appear every year on going – example: holidays. This service will help by recreating events that are marked as annual in the planner.
Requirements
- Runs on a timer and processes events once per day
- Checks for annual events that need to be created
- Future events are not processed
- Past dates are processed
- Once the event has been processed it is marked as processed so as not to be picked up again
- The newly created event should not be live
- The event planner application uses Entity Framework in a unit of work pattern so this application should do the same so that is can interface into current libraries.
Cases
Case 1: same day events
An event on 05/02/2018 (first Monday of the month)
The service will create a new event on 04/02/2019 (first Monday) and mark the event as processed
Case 2: same date events
Holidays etc. Valentines day falls on 14/02/2018 so when this event is processed the new event will be created on 14/02/2019
Case 3: working day events
This works the same as case 1 but if the day happens to be a public holiday or weekend then it should fall back to a previous working day (ie Monday to Friday only)
Tests
There should be unit tests written for all public methods
Models
Event (simplified)
- Id (Key)
- Description (string)
- Date (datetime)
- IsLive (bool)
- IsAnnual (bool)
- AnnualTypeId (Foreign Key)
- IsProcessed (bool)
AnnualType
- Id (key)
- Value (string)
Content
AnnualTypes
1. Day (Same day events – case 1)
2. Date (Same date events – case 2)
3. Working Day (Same as day but reverts to working day – case 3)
Project ID: #16365672
About the project
2 freelancers are bidding on average £214 for this job
I have good experience of developing Windows Service in C#. I have prior experience of developing service for recurring tasks for one of my client. I would be a good choice of this project.