async public Task <IActionResult> CreateItem(string categoryslug, CreateItemViewModel model) { SetPageContent("createItem"); if (ModelState.IsValid) { var questions = _projectEngine.GetCategoryQuestions(categoryslug); foreach (var question in questions) { if (question.CategoryQuestionTypeId == 3) { var values = HttpContext.Request.Form[Converter.String.ToValidControlId(question.Label)]; question.Value = string.Join("|", values); } else { question.Value = HttpContext.Request.Form[Converter.String.ToValidControlId(question.Label)]; } } var title = HttpContext.Request.Form["Title"]; var description = HttpContext.Request.Form["Description"]; var provinceId = HttpContext.Request.Form["ProvinceId"]; var districtId = HttpContext.Request.Form["DistrictId"]; var whenTypeId = HttpContext.Request.Form["WhenTypeId"]; var whenDateId = HttpContext.Request.Form["WhenDateId"]; var whenTimeId = HttpContext.Request.Form["WhenTimeId"]; var price = HttpContext.Request.Form["Price"]; decimal decimalPrice = 0; decimal?PriceValue = null; if (decimal.TryParse(price, out decimalPrice)) { PriceValue = decimalPrice; } if (model.UnknownPrice) { PriceValue = null; } var galleryImages = Request.Form.Files.GetFiles("galleryImage"); var result = _projectEngine.CreateItem(_userManager.GetUserId(User), categoryslug, title, description, provinceId, districtId, whenTypeId, whenDateId, whenTimeId, questions, PriceValue, galleryImages); switch (result.Type) { case TransactionType.Error: ModelState.AddModelError("", result.Message); return(View(await getCreateItemViewModel(categoryslug))); case TransactionType.Success: return(RedirectToRoute("projects")); } } SetValidationErrorMessage(); return(View(await getCreateItemViewModel(categoryslug))); }