Exemple #1
0
        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));
        }
Exemple #2
0
        /// <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;
            }
        }
Exemple #3
0
        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());
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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));
     }//);
 }
Exemple #8
0
        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);
        }
Exemple #9
0
        //[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));
        }
Exemple #11
0
        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;
            }
        }
Exemple #12
0
        //[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));
     }
 }