public ActionResult FlagLoad(FlagViewModel Flag)
        {
            OrderFlag _flag = Flag.ToFlag();

            using (OrderFlagBusiness flagBusiness = new OrderFlagBusiness(_applicationServicesSetup, _user))
            {
                if (_flag.Id > 0)
                {
                    flagBusiness.Modify(_flag);
                }
                else
                {
                    int Id      = flagBusiness.Create(_flag);
                    var NewFlag = flagBusiness.GetById(Id, new[] {
                        Globals.Related.OrderFlag.FlaggedByUser
                    });

                    Flag = new FlagViewModel(NewFlag);
                }


                if (flagBusiness.ValidationErrors.Any())
                {
                    ValidationErrorResponse(flagBusiness.ValidationErrors);
                }
            }

            return(Json(Flag));
        }
 public ActionResult FlagComments(int id /* Flag Id*/)
 {
     using (OrderFlagBusiness flagBusiness = new OrderFlagBusiness(_applicationServicesSetup, _user))
     {
         return(Json(
                    flagBusiness.GetCommentsForFlag(id).Select(i => new CommentViewModel(i)),
                    JsonRequestBehavior.AllowGet
                    ));
     }
 }
        public ActionResult AddFlagComment(int id /* Flag Id*/, string comment)
        {
            using (OrderFlagBusiness flagBusiness = new OrderFlagBusiness(_applicationServicesSetup, _user))
            {
                var _Comment = flagBusiness.AddComment(id, comment);

                if (_Comment.Id > 0)
                {
                    return(SuccessMessage(new CommentViewModel(_Comment)));
                }
                else
                {
                    return(ValidationErrorResponse(flagBusiness.ValidationErrors));
                }
            }
        }
        public ActionResult RemoveFlag(int id /* Flag Id*/)
        {
            using (OrderFlagBusiness flagBusiness = new OrderFlagBusiness(_applicationServicesSetup, _user))
            {
                flagBusiness.ClearFlag(id);

                if (flagBusiness.ValidationErrors.Any())
                {
                    return(ValidationErrorResponse(flagBusiness.ValidationErrors));
                }
                else
                {
                    return(SuccessMessage());
                }
            }
        }