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
            }));
        }
示例#2
0
        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
            }));
        }