public DecesionViewModel CreateDecesion() { try { DecesionViewModel decesionViewModel = new DecesionViewModel { Decesion = new Decesion(), OrganizationListItems = (from item in _repoWrapper.Organization.FindAll() select new SelectListItem { Text = item.OrganizationName, Value = item.ID.ToString() }), DecesionTargets = _repoWrapper.DecesionTarget.FindAll().ToList(), DecesionStatusTypeListItems = _decisionVMCreator.GetDecesionStatusTypes() }; return decesionViewModel; } catch { RedirectToAction("HandleError", "Error"); return null; } }
public async Task SaveDecesionAsyncTestWithoutFileAsync(DecesionViewModel model, bool expected) { var controller = CreateDocumentationController(); var result = await controller.SaveDecesionAsync(model); bool actual = result.Value.ToString().Contains("True") ? true : false; Assert.Equal(expected, actual); }
public JsonResult ChangeDecesion(DecesionViewModel decesionViewModel) { try { var decesion = _repoWrapper.Decesion.FindByCondition(x => x.ID == decesionViewModel.Decesion.ID).First(); decesion.Name = decesionViewModel.Decesion.Name; decesion.Description = decesionViewModel.Decesion.Description; _repoWrapper.Decesion.Update(decesion); _repoWrapper.Save(); return Json(new { success = true, text = "Зміни пройшли успішно!", decesion }); } catch { return Json(new { success = false }); } }
public async Task<JsonResult> SaveDecesionAsync(DecesionViewModel decesionViewModel) { try { ModelState.Remove("Decesion.DecesionStatusType"); if (!ModelState.IsValid && decesionViewModel.Decesion.DecesionTarget.ID != 0 || decesionViewModel == null) { ModelState.AddModelError("", "Дані введені неправильно"); return Json(new { success = false, text = ModelState.Values.SelectMany(v => v.Errors), model = decesionViewModel, modelstate = ModelState }); } if (decesionViewModel.File != null && decesionViewModel.File.Length > 10485760) { ModelState.AddModelError("", "файл за великий (більше 10 Мб)"); return Json(new { success = false, text = "file lenght > 10485760" }); } decesionViewModel.Decesion.HaveFile = decesionViewModel.File != null ? true : false; _repoWrapper.Decesion.Attach(decesionViewModel.Decesion); _repoWrapper.Decesion.Create(decesionViewModel.Decesion); _repoWrapper.Save(); if (decesionViewModel.Decesion.HaveFile) { try { string path = _appEnvironment.WebRootPath + DecesionsDocumentFolder + decesionViewModel.Decesion.ID; _directoryManager.CreateDirectory(path); if (!_directoryManager.Exists(path)) { throw new ArgumentException($"directory '{path}' is not exist"); } if (decesionViewModel.File != null) { path = Path.Combine(path, decesionViewModel.File.FileName); using (var stream = _fileStreamManager.GenerateFileStreamManager(path, FileMode.Create)) { await _fileStreamManager.CopyToAsync(decesionViewModel.File, stream.GetStream()); if (!_fileManager.Exists(path)) { throw new ArgumentException($"File was not created it '{path}' directory"); } } } } catch (Exception e) { return Json(new { success = false, text = e.Message }); } } return Json(new { success = true, Text = "Рішення додано!", decesion = decesionViewModel.Decesion, decesionOrganization = _repoWrapper.Organization.FindByCondition(x => x.ID == decesionViewModel.Decesion.Organization.ID).Select(x => x.OrganizationName) }); } catch (Exception e) { return Json(new { success = false, text = e.Message }); } }