public HttpResponseMessage Register(RegisterRequest registerRequest) { // Create the new User object. //TODO: Encrypt the password. if (registerRequest.FirstName == "" || registerRequest.LastName == "" || registerRequest.Username == "" || registerRequest.Password == "") { // If any of the parameters are empty, throw an error. // TODO Maybe don't user forbidden status here. return(Request.CreateResponse(HttpStatusCode.Forbidden, "Registration Failed - Empty Parameters.")); } // Check if there is already a user with this username. if (_Database.Users.Any(usr => usr.Username == registerRequest.Username)) { // TODO Maybe don't user forbidden status here. System.Diagnostics.Debug.WriteLine("Registration failed!!!!! Username in use."); return(Request.CreateResponse(HttpStatusCode.Conflict, "Registration Failed - Username in use.")); } User newUser = new User { FirstName = registerRequest.FirstName, LastName = registerRequest.LastName, Username = registerRequest.Username, Password = registerRequest.Password }; System.Diagnostics.Debug.WriteLine("Adding a new user..."); // Add the user to the database. _Database.Users.Add(newUser); _Database.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); }
public HttpResponseMessage Add([FromBody] ActivityLogRequest activityLogRequest) { // Get the UserId of the logged in user. int userId = int.Parse(User.Identity.GetUserId()); //TODO Verify that a valid activity and valid user have been passed. User user = (User)_Database.Users.SingleOrDefault(usr => usr.UserId == userId); Activity activity = (Activity)_Database.Activities.SingleOrDefault(act => act.ActivityId == activityLogRequest.ActivityId); // Create a new ActivityLog entry in the database. ActivityLog newLog = new ActivityLog { Activity = activity, User = user, StartTime = activityLogRequest.StartTime, EndTime = activityLogRequest.EndTime }; System.Diagnostics.Debug.WriteLine("Adding a new ActivityLog..."); // Add the ActivityLog to the database. _Database.ActivityLogs.Add(newLog); _Database.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); }
// Fills database with test data. private static void Seed(ActivityTrackerContext context) { context.Roles.AddRange( new Role { Id = 1, Name = "software engineer" }, new Role { Id = 2, Name = "software architect" }, new Role { Id = 3, Name = "team lead" } ); context.ActivityTypes.AddRange( new ActivityType { Id = 1, Name = "regular work" }, new ActivityType { Id = 2, Name = "overtime" } ); context.Projects.AddRange( new Project { Id = 1, Name = "Ableton", DateStart = DateTime.Today, DateEnd = DateTime.Today.AddDays(14) }, new Project { Id = 2, Name = "Logic Pro", DateStart = DateTime.Today, DateEnd = DateTime.Today.AddDays(10) } ); context.Employees.AddRange( new Employee { Id = 1, Name = "Mykola", Sex = Sex.Male, DateOfBirth = DateTime.Today.AddYears(-20) }, new Employee { Id = 2, Name = "Sasha", Sex = Sex.Female, DateOfBirth = DateTime.Today.AddYears(-20) } ); context.Activities.AddRange( new Activity { Id = 1, Date = DateTime.Parse("2020-08-03"), HoursOfWork = 10, EmployeeId = 1, ProjectId = 1, RoleId = 1, ActivityTypeId = 1 }, new Activity { Id = 2, Date = DateTime.Parse("2020-08-03"), HoursOfWork = 5, EmployeeId = 1, ProjectId = 2, RoleId = 2, ActivityTypeId = 2 }, new Activity { Id = 3, Date = DateTime.Parse("2020-08-09"), HoursOfWork = 7, EmployeeId = 1, ProjectId = 2, RoleId = 3, ActivityTypeId = 1 }, new Activity { Id = 4, Date = DateTime.Parse("2020-08-10"), HoursOfWork = 7, EmployeeId = 1, ProjectId = 2, RoleId = 3, ActivityTypeId = 1 } ); context.SaveChanges(); }