public ActionResult Create([Bind(Include = "Title,Problem,Solution")] FlowerAddOrEditViewModel flowerModel)
        {
            // Obtain request from session
            int?rId = (int?)Session["RID"];

            if (rId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Your session isn't undergoing a request to perform this action"));
            }
            int     requestId = rId.Value;
            Request request   = uow.Requests.Find(requestId);

            if (request == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Try another request session"));
            }

            if (ModelState.IsValid)
            {
                uow.Requests.CompleteRequest(
                    request: request,
                    editorUsername: User.Identity.Name,
                    problem: flowerModel.Problem,
                    solution: flowerModel.Solution,
                    title: flowerModel.Title
                    );
                Session["RID"] = null;

                return(RedirectToAction("Index"));
            }

            return(View(flowerModel));
        }
        public ActionResult Edit([Bind(Include = "Id,Title,Problem,Solution")] FlowerAddOrEditViewModel flowerModel)
        {
            if (!IsOwner(flowerModel.Id))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You do not own the flower you requested to edit"));
            }

            if (ModelState.IsValid)
            {
                uow.Flowers.EditFlower(
                    editorUsername: User.Identity.Name,
                    flowerId: flowerModel.Id,
                    problem: flowerModel.Problem,
                    solution: flowerModel.Solution,
                    title: flowerModel.Title);
                return(RedirectToAction("Index"));
            }
            return(View(flowerModel));
        }