public static DeliverableDetailViewModel MapFrom(DeliverableDetail d) { return(new DeliverableDetailViewModel { ID = d.ID, DelID = d.DelID, DateDue = d.DateDue, DateCompleted = d.DateCompleted, Notes = d.Notes }); }
public async Task <IHttpActionResult> Put(long ID, DeliverableDetail deldet) { if (!ModelState.IsValid) { System.Diagnostics.Debug.WriteLine("BadModelState"); return(BadRequest(ModelState)); } if (ID != deldet.ID) { System.Diagnostics.Debug.WriteLine("BadReq"); return(BadRequest()); } DeliverableDetail upDel = (DeliverableDetail)db.DeliverableDetails.Where(x => x.ID == ID).First(); upDel.DateCompleted = DateTime.Now; db.DeliverableDetails.Attach(upDel); var entry = db.Entry(upDel); entry.Property(e => e.DateCompleted).IsModified = true; // other changed properties db.SaveChanges(); //db.Entry(deldet).State = EntityState.Modified; //System.Diagnostics.Debug.WriteLine("Modified"); try { System.Diagnostics.Debug.WriteLine("Saved " + ID.ToString() + " | " + deldet.DateCompleted.ToString()); await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DelDetExists(ID)) { System.Diagnostics.Debug.WriteLine("Catch If"); return(NotFound()); } else { System.Diagnostics.Debug.WriteLine("Catch If Else"); throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> Put(DeliverableDetail deldet) { return(await this.Put(deldet.ID, deldet)); }
public async Task <IHttpActionResult> Post(Deliverable del) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Deliverables.Add(del); await db.SaveChangesAsync(); DeliverableDetail delDet = new DeliverableDetail(); delDet.DelID = del.ID; var newDelDate = del.FirstDueDate.ToString().Split(' ')[0]; var d = newDelDate.Split('/'); if (d[0].Length == 1) { d[0] = '0' + d[0]; } if (d[1].Length == 1) { d[1] = '0' + d[1]; } newDelDate = d[0] + '/' + d[1] + '/' + d[2]; System.Diagnostics.Debug.WriteLine(newDelDate); var interval = 0; if (del.Frequency == "Weekly") { interval = 1095; for (var i = 0; i <= interval; i += 7) { delDet.DateDue = DateTime.ParseExact(newDelDate, "MM/dd/yyyy", null).AddDays(i); db.DeliverableDetails.Add(delDet); await db.SaveChangesAsync(); } } else if (del.Frequency == "Monthly") { interval = 36; for (var i = 0; i <= interval; i++) { delDet.DateDue = DateTime.ParseExact(newDelDate, "MM/dd/yyyy", null).AddMonths(i); db.DeliverableDetails.Add(delDet); await db.SaveChangesAsync(); } } else if (del.Frequency == "Quarterly") { interval = 36; for (var i = 0; i <= interval; i += 3) { delDet.DateDue = DateTime.ParseExact(newDelDate, "MM/dd/yyyy", null).AddMonths(i); db.DeliverableDetails.Add(delDet); await db.SaveChangesAsync(); } } else if (del.Frequency == "Semi-Annual") { interval = 36; for (var i = 0; i <= interval; i += 6) { delDet.DateDue = DateTime.ParseExact(newDelDate, "MM/dd/yyyy", null).AddMonths(i); db.DeliverableDetails.Add(delDet); await db.SaveChangesAsync(); } } else if (del.Frequency == "Annual") { interval = 3; for (var i = 0; i <= interval; i++) { delDet.DateDue = DateTime.ParseExact(newDelDate, "MM/dd/yyyy", null).AddYears(i); db.DeliverableDetails.Add(delDet); await db.SaveChangesAsync(); } } return(Ok(DeliverablesViewModel.MapFrom(del))); }
public static async Task <DeliverableDetailViewModel> MapFromAsync(DeliverableDetail d) { return(await Task.Run(() => { return MapFrom(d); })); }