Example #1
0
        static internal object ToResponse(this WhatIfResult result)
        {
            bool createFromTemplateResult = result.SourceOperation == ProjectItemOperation.CreateFromTemplate;

            return(new {
                sourceOperation = result.SourceOperation,
                source = createFromTemplateResult ? ((Activity)result.Source).ToActivityTemplateResponse() : result.Source.ToResponse(),
                stateChanges = result.StateChanges.ToResponse(),
                hasErrors = result.HasErrors,
                exception = result.HasErrors ? result.GetException().Message : ""
            });
        }
        public SingleObjectModel WhatIfUpdateProjectDeadlines(string projectUID, string activityUID)
        {
            try {
                var project = Project.Parse(projectUID);

                Activity activity = project.GetActivity(activityUID);
                var      updater  = new ProcessUpdater(activity);

                WhatIfResult result = updater.OnUpdateDeadlines();
                return(new SingleObjectModel(this.Request, result.ToResponse(),
                                             typeof(WhatIfResult).FullName));
            } catch (Exception e) {
                throw base.CreateHttpException(e);
            }
        }
Example #3
0
        public SingleObjectModel WhatIfReactivated(string projectUID, string activityUID)
        {
            try {
                var project = Project.Parse(projectUID);

                Activity activity = project.GetActivity(activityUID);

                WhatIfResult result = ModelingServices.WhatIfReactivated(activity);

                return(new SingleObjectModel(this.Request, result.ToResponse(),
                                             typeof(WhatIfResult).FullName));
            } catch (Exception e) {
                throw base.CreateHttpException(e);
            }
        }
Example #4
0
        public SingleObjectModel WhatIfCreatedFromEvent(string projectUID,
                                                        [FromBody] object body)
        {
            try {
                base.RequireBody(body);

                var bodyAsJson = JsonObject.Parse(body);

                var activityModel = bodyAsJson.Get <Activity>("activityTemplateUID");
                var eventDate     = bodyAsJson.Get <DateTime>("eventDate", DateTime.Today);

                var project = Project.Parse(projectUID);

                WhatIfResult result = ModelingServices.WhatIfCreatedFromEvent(activityModel, project, eventDate);

                return(new SingleObjectModel(this.Request, result.ToResponse(),
                                             typeof(WhatIfResult).FullName));
            } catch (Exception e) {
                throw base.CreateHttpException(e);
            }
        }
Example #5
0
        public SingleObjectModel WhatIfCompleted(string projectUID, string activityUID,
                                                 [FromBody] object body)
        {
            try {
                base.RequireBody(body);
                var bodyAsJson = JsonObject.Parse(body);

                var project = Project.Parse(projectUID);

                Activity activity = project.GetActivity(activityUID);

                DateTime completedDate = bodyAsJson.Get <DateTime>("completedDate", DateTime.Today);

                WhatIfResult result = ModelingServices.WhatIfCompleted(activity, completedDate, true);

                return(new SingleObjectModel(this.Request, result.ToResponse(),
                                             typeof(WhatIfResult).FullName));
            } catch (Exception e) {
                throw base.CreateHttpException(e);
            }
        }