// Convert the timesheet form row items into timesheet time entries. Makes // certain assumptions about start times, end times, and group. private void PopulateTimesheetEntries(PWATimesheet timesheetForm, Timesheet timesheet) { timesheet.TotalHours = Convert.ToDouble(convUtil.TimeToDecimal(timesheetForm.totalHours.value)); var timeEntryList = new List <TimeEntry>(); if (timesheetForm.timesheet.wasEdited) { timesheet.Edited = true; } foreach (var row in timesheetForm.timesheet.value) { var timeEntry = new TimeEntry(); try { timeEntry.Date = Convert.ToDateTime(row.date); } catch (FormatException) { Console.WriteLine("Hey, {0} is not a valid Date!", row.date); timeEntry.Date = DateTime.Parse("1/1/1900"); } try { timeEntry.Hours = double.Parse(convUtil.TimeToDecimal(row.totalHours)); } catch (FormatException) { Console.WriteLine("Hey, {0} is not a valid Time!", row.totalHours); timeEntry.Hours = -1; } timeEntry.Group = row.group.Equals("Yes", StringComparison.CurrentCultureIgnoreCase); try { timeEntry.In = DateTime.Parse(row.starttime); } catch (FormatException) { Console.WriteLine("Hey, {0} is not a valid Time!", row.starttime); timeEntry.In = DateTime.Parse("12:00 AM"); } try { timeEntry.Out = DateTime.Parse(row.endtime); } catch (FormatException) { Console.WriteLine("Hey, {0} is not a valid Time!", row.endtime); timeEntry.Out = DateTime.Parse("12:00 AM"); } timeEntryList.Add(timeEntry); } timesheet.TimeEntries = timeEntryList; }
public IActionResult SubmitTimesheet([FromBody] PWATimesheet submittedform) { var dbutil = new FormToDbUtil(_subcontext, _context); Timesheet ts = dbutil.PopulateTimesheet(submittedform); var submission = _subcontext; submission.Add(ts); submission.SaveChanges(); // Do something with form Response.Headers.Add("Access-Control-Allow-Origin", "*"); Response.Headers.Add("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); return(Json(new { response = "ok" })); }
// Give a timesheetform obj, get back a partially populated timesheet obj. // TODO fix UriString, confirm vals for // marks public Timesheet PopulateTimesheet(PWATimesheet tsf, Timesheet tsheet = null) { if (tsheet == null) { tsheet = new Timesheet(); } tsheet.ClientName = tsf.clientName.value; tsheet.ClientPrime = tsf.prime.value; tsheet.ProviderName = tsf.providerName.value; tsheet.ProviderId = tsf.providerNum.value; tsheet.ServiceGoal = tsf.serviceGoal.value; tsheet.ProgressNotes = tsf.progressNotes.value; tsheet.FormType = tsf.serviceAuthorized.value; tsheet.RejectionReason = ""; // tsheet.Submitted = DateTime.UtcNow; // tsheet.LockInfo = null; tsheet.UserActivity = ""; // tsheet.Edited = convUtil.wasPWAedited(tsf); tsheet.UriString = _sscontext.Stagings.Find(tsf.id).UriString; PopulateTimesheetEntries(tsf, tsheet); return(tsheet); }