private void LoadSandbox() { MyObjectBuilderSerializer.DeserializeXML(_checkpointPath, out MyObjectBuilder_Checkpoint checkpoint); Checkpoint = new CheckpointViewModel(checkpoint); // migrate old saves if (File.Exists(_worldConfigPath)) { MyObjectBuilderSerializer.DeserializeXML(_worldConfigPath, out MyObjectBuilder_WorldConfiguration worldConfig); WorldConfiguration = new WorldConfigurationViewModel(worldConfig); } else { WorldConfiguration = new WorldConfigurationViewModel(new MyObjectBuilder_WorldConfiguration { Mods = checkpoint.Mods, Settings = checkpoint.Settings }); checkpoint.Mods = null; checkpoint.Settings = null; } OnPropertyChanged(nameof(Checkpoint)); OnPropertyChanged(nameof(WorldConfiguration)); }
/// <summary> /// Get Checkpoint by id /// </summary> /// <param name="id">Checkpoint id</param> /// <returns>Checkpoint json view model</returns> public IHttpActionResult Get(int id) { try { // get log.Debug("_checkpointService.GetCheckpoint - checkpointId: " + id + " "); var checkpoint = new CheckpointViewModel(_checkpointService.GetCheckpoint(id)); log.Debug("_checkpointService.GetCheckpoint - " + CheckpointViewModel.FormatCheckpointViewModel(checkpoint)); log.Debug("result: 'success'"); //return Json(checkpoint, JsonRequestBehavior.AllowGet); //return Content(JsonConvert.SerializeObject(checkpoint), "application/json"); //return checkpoint; //return JsonConvert.SerializeObject(checkpoint); return(Ok(checkpoint)); } catch (Exception e) { // error log.Error(e.ToString()); throw; } }
private CheckpointDTO Create(CheckpointViewModel viewModel) { try { log.Debug(CheckpointViewModel.FormatCheckpointViewModel(viewModel)); CheckpointDTO checkpoint = new CheckpointDTO(); // copy values viewModel.UpdateDTO(checkpoint, null); //RequestContext.Principal.Identity.GetUserId()); // audit checkpoint.CreateBy = null; //RequestContext.Principal.Identity.GetUserId(); checkpoint.CreateOn = DateTime.UtcNow; // add log.Debug("_checkpointService.AddCheckpoint - " + CheckpointDTO.FormatCheckpointDTO(checkpoint)); int id = _checkpointService.AddCheckpoint(checkpoint); checkpoint.CheckpointId = id; log.Debug("result: 'success', id: " + id); return(checkpoint); } catch (Exception e) { // error log.Error(e.ToString()); throw; } }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } List <StatusForList> types = new List <StatusForList>(); foreach (Type item in typeService.GetAll()) { types.Add(new StatusForList { Key = item.ID.ToString(), Display = item.Description }); } List <CheckboxItem> admissions = new List <CheckboxItem>(); foreach (var item in admissionService.GetAll()) { string display = item.Role + " (" + item.Description + ")"; if (checkpointService.IsMatchAdmission(id, item.ID)) { admissions.Add(new CheckboxItem() { ID = item.ID, Display = display, IsChecked = true }); } else { admissions.Add(new CheckboxItem() { ID = item.ID, Display = display, IsChecked = false }); } } CheckpointViewModel model = (CheckpointViewModel)checkpointService.Get(id); if (model != null) { model.StatusList = new SelectList(new List <StatusForList> { new StatusForList { Key = "Пропуск", Display = "Пропуск" }, new StatusForList { Key = "Отметка", Display = "Отметка" } }, "Key", "Display"); model.TypeList = new SelectList(types, "Key", "Display"); model.AdmissionList = admissions; return(View(model)); } return(HttpNotFound()); }
public void Create_Invalid() { // Arrange typeServiceMock.Setup(x => x.Get(id)).Returns(types[0]); admissionServiceMock.Setup(x => x.GetAll()).Returns(admissions); CheckpointViewModel model = new CheckpointViewModel() { IP = "192.168.0.1", Campus = 1, Row = 4, Description = "На 4 этаже, 425 аудитория", Status = "Отметка", AdmissionList = new List <CheckboxItem>() { new CheckboxItem { ID = 1, Display = "Сотрудник (Вход в лабораторию)", IsChecked = true } } }; controllerWEB.ModelState.AddModelError("Error", "Что-то пошло не так"); //Act var result = (ViewResult)controllerWEB.Create(model); //Assert Assert.AreEqual("", result.ViewName); }
public void Create_Valid() { //Arrange typeServiceMock.Setup(x => x.Get(id)).Returns(types[0]); admissionServiceMock.Setup(x => x.GetAll()).Returns(admissions); CheckpointViewModel model = new CheckpointViewModel() { IP = "192.168.0.1", Campus = 1, Row = 4, Description = "На 4 этаже, 425 аудитория", Section = 1, Classroom = 425, Status = "Отметка", TypeID = "1", Type = new TypeDTO { Description = "", Status = "" }, AdmissionList = new List <CheckboxItem>() { new CheckboxItem { ID = 1, Display = "Сотрудник (Вход в лабораторию)", IsChecked = true } } }; //Act var result = (RedirectToRouteResult)controllerWEB.Create(model); //Assert Assert.AreEqual("Index", result.RouteValues["action"]); }
private void BeginLoadCheckpoint() { //Task.Run(() => { Log.Info($"Preloading checkpoint {_checkpointPath}"); MyObjectBuilderSerializer.DeserializeXML(_checkpointPath, out MyObjectBuilder_Checkpoint checkpoint); Checkpoint = new CheckpointViewModel(checkpoint); OnPropertyChanged(nameof(Checkpoint)); }//); }
public void Edit_Invalid() { //Arrange typeServiceMock.Setup(x => x.Get(1)).Returns(types[0]); admissionServiceMock.Setup(x => x.GetAll()).Returns(admissions); CheckpointViewModel model = new CheckpointViewModel() { }; controllerWEB.ModelState.AddModelError("Error", "Что-то пошло не так"); //Act var result = (ViewResult)controllerWEB.Edit(model); //Assert Assert.AreEqual("", result.ViewName); }
//[ValidateAntiForgeryToken] /// <summary> /// Updates data for an existing Checkpoint, or creates a new Checkpoint if the Id is 0 /// </summary> /// <param name="viewModel">Checkpoint data</param> /// <returns>Checkpoint id</returns> public IHttpActionResult Upsert(CheckpointViewModel viewModel) { log.Debug("Upsert"); if (viewModel.CheckpointId > 0) { var t = Update(viewModel); //return Json(true); //return JsonConvert.SerializeObject(t.CheckpointId); return(Ok(t.CheckpointId)); } else { var t = Create(viewModel); //return Json(t.CheckpointId); //return JsonConvert.SerializeObject(t.CheckpointId); return(Ok(t.CheckpointId)); } }
public ActionResult Create() { List <StatusForList> types = new List <StatusForList>(); foreach (Type item in typeService.GetAll()) { types.Add(new StatusForList { Key = item.ID.ToString(), Display = item.Description }); } List <CheckboxItem> admissions = new List <CheckboxItem>(); foreach (var item in admissionService.GetAll()) { string display = item.Role + " (" + item.Description + ")"; admissions.Add(new CheckboxItem() { ID = item.ID, Display = display, IsChecked = false }); } CheckpointViewModel model = new CheckpointViewModel { StatusList = new SelectList(new List <StatusForList> { new StatusForList { Key = "Пропуск", Display = "Пропуск" }, new StatusForList { Key = "Отметка", Display = "Отметка" } }, "Key", "Display"), TypeList = new SelectList(types, "Key", "Display"), AdmissionList = admissions }; return(View(model)); }
private CheckpointDTO Update(CheckpointViewModel viewModel) { try { log.Debug(CheckpointViewModel.FormatCheckpointViewModel(viewModel)); // get log.Debug("_checkpointService.GetCheckpoint - checkpointId: " + viewModel.CheckpointId + " "); var existingCheckpoint = _checkpointService.GetCheckpoint(viewModel.CheckpointId); log.Debug("_checkpointService.GetCheckpoint - " + CheckpointDTO.FormatCheckpointDTO(existingCheckpoint)); if (existingCheckpoint != null) { // copy values viewModel.UpdateDTO(existingCheckpoint, null); //RequestContext.Principal.Identity.GetUserId()); // update log.Debug("_checkpointService.UpdateCheckpoint - " + CheckpointDTO.FormatCheckpointDTO(existingCheckpoint)); _checkpointService.UpdateCheckpoint(existingCheckpoint); log.Debug("result: 'success'"); } else { log.Error("existingCheckpoint: null, CheckpointId: " + viewModel.CheckpointId); } return(existingCheckpoint); } catch (Exception e) { // error log.Error(e.ToString()); throw; } }
//[ValidateAntiForgeryToken] /// <summary> /// Save a list of Checkpoint /// </summary> /// <param name="viewModels">Checkpoint view models</param> /// <param name="id">(not used)</param> /// <returns>true if the operation is successfull</returns> public IHttpActionResult SaveList(CheckpointViewModel[] viewModels, int?id) { try { log.Debug("SaveList"); if (viewModels != null) { // save list foreach (CheckpointViewModel viewModel in viewModels) { log.Debug(CheckpointViewModel.FormatCheckpointViewModel(viewModel)); if (viewModel.CheckpointId > 0) { var t = Update(viewModel); } else { var t = Create(viewModel); } } } else { log.Error("viewModels: null"); } //return Json(true); //return JsonConvert.SerializeObject(true); return(Ok(true)); } catch (Exception e) { // error log.Error(e.ToString()); throw; } }
public ActionResult Edit(CheckpointViewModel model) { if (string.IsNullOrEmpty(model.IP)) { ModelState.AddModelError("IP", "IP должен быть заполнен"); } if (model.Campus == null) { ModelState.AddModelError("Campus", "Корпус должен быть заполнен"); } if (model.Row == null) { ModelState.AddModelError("Row", "Этаж должен быть заполнен"); } if (string.IsNullOrEmpty(model.Description)) { ModelState.AddModelError("Description", "Описание должно быть заполнено"); } if (string.IsNullOrEmpty(model.Status)) { ModelState.AddModelError("Status", "Выберите статус"); } if (string.IsNullOrEmpty(model.TypeID)) { ModelState.AddModelError("TypeID", "Выберите тип"); } if (ModelState.IsValid) { List <Admission> admissions = new List <Admission>(); foreach (var item in model.AdmissionList) { if (item.IsChecked) { admissions.Add(admissionService.Get(item.ID)); } } model.Admissions = admissions; model.Type = (TypeDTO)typeService.Get(System.Convert.ToInt32(model.TypeID)); checkpointService.Edit(new CheckpointDTO { ID = model.ID, IP = model.IP, Campus = (int)model.Campus, Classroom = model.Classroom, Section = model.Section, Row = (int)model.Row, Description = model.Description, Status = model.Status, Type = model.Type, Admissions = model.Admissions }); return(RedirectToAction("Index", "Checkpoint")); } else { List <StatusForList> types = new List <StatusForList>(); foreach (Type item in typeService.GetAll()) { types.Add(new StatusForList { Key = item.ID.ToString(), Display = item.Description }); } List <CheckboxItem> admissions = new List <CheckboxItem>(); foreach (var item in admissionService.GetAll()) { string display = item.Role + " (" + item.Description + ")"; if (checkpointService.IsMatchAdmission(model.ID, item.ID)) { admissions.Add(new CheckboxItem() { ID = item.ID, Display = display, IsChecked = true }); } else { admissions.Add(new CheckboxItem() { ID = item.ID, Display = display, IsChecked = false }); } } model = new CheckpointViewModel { ID = model.ID, StatusList = new SelectList(new List <StatusForList> { new StatusForList { Key = "Пропуск", Display = "Пропуск" }, new StatusForList { Key = "Отметка", Display = "Отметка" } }, "Key", "Display"), TypeList = new SelectList(types, "Key", "Display"), AdmissionList = admissions }; return(View(model)); } }