public async Task <IHttpActionResult> AddEditPlan(DefaultStep step) { string status = ""; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Edit or add depending on if id exists if (!StepExists(step.StepID)) { db.DefaultSteps.Add(step); await db.SaveChangesAsync(); status = "created"; } else { db.Entry(step).State = EntityState.Modified; //When value is not specified for model DateTime property, the value defaults to 0001-01-01 //which is outside of the range of SQL Server's DATETIME step.DateModified = DateTime.Now; try { await db.SaveChangesAsync(); status = "updated"; } catch (DbUpdateConcurrencyException) { if (!StepExists(step.StepID)) { return(NotFound()); } else { throw; } } } string message = $"Step successfully { status }!"; return(Ok(new PostResponseViewModel { Ids = new List <int>() { step.StepID }, Message = message })); }
public InMemoryCommandBus(IEnumerable <ICommandMiddleware> middlewares) { var reverseMiddlewares = middlewares.Reverse().ToList(); IStep next = new NoopStep(); foreach (var middleware in reverseMiddlewares) { next = new DefaultStep(middleware, next); } pipeline = next; }
public async Task <IHttpActionResult> Delete(int[] ids) { foreach (int i in ids) { DefaultStep steps = await db.DefaultSteps.FindAsync(i); if (steps == null) { return(NotFound()); } db.DefaultSteps.Remove(steps); } await db.SaveChangesAsync(); string message = "Steps deleted successfully!"; return(Ok(new PostResponseViewModel { Ids = null, Message = message })); }