コード例 #1
0
        public IActionResult Create(ProcessorBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData["Error"] = "Invalid form.";
                return(RedirectToAction("Create"));
            }

            if (context.Processors.Any(p => p.ModelName == model.ModelName))
            {
                TempData["Error"] = "Model name already exists.";
                return(RedirectToAction("Create"));
            }
            var processor = mapper.Map <Processor>(model);

            context.Processors.Add(processor);
            context.SaveChanges();

            return(RedirectToAction("Details", "Processors", new { area = "", id = processor.Id }));
        }
コード例 #2
0
        public IActionResult Edit(int id, ProcessorBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var processor = context.Processors.FirstOrDefault(p => p.Id == id);

            if (processor == null)
            {
                return(NotFound());
            }

            MapProperties(processor, model);

            //var propertiesOfEntity = processor.GetType().GetProperties();

            //var propertiesOfModel = model.GetType().GetProperties();

            //foreach (var propertyModel in propertiesOfModel)
            //{
            //    foreach (var propertyEntity in propertiesOfEntity)
            //    {
            //        if (propertyEntity.Name == propertyModel.Name)
            //        {
            //            propertyEntity.SetValue(processor, propertyModel.GetValue(model));
            //            break;
            //        }
            //    }

            //}

            context.SaveChanges();

            return(RedirectToAction("Details", "Processors", new { area = "", id }));
        }
コード例 #3
0
        public void ProcessorsController_WithValidModel_ShouldCreateProcessorAndAddToDb()
        {
            var processorModel = new ProcessorBindingModel()
            {
                Architecture  = "Cabi lake",
                Cache         = 12,
                Frequency     = 4,
                Manufacturer  = "Antel",
                MaxMemorySize = 32,
                ModelName     = "i3-7800",
                NumberOfCores = 6,
                Power         = 200,
                Price         = 350,
                Socket        = "H65"
            };

            var processor = mapper.Map <Processor>(processorModel);

            processor.Id = 1;

            controller.Create(processorModel);

            var dbProcessor = dbContext.Processors.FirstOrDefault(p => p.ModelName == processor.ModelName);

            Assert.IsNotNull(dbProcessor);
            Assert.AreEqual(1, this.dbContext.Processors.Count());
            Assert.AreEqual(dbProcessor.ModelName, processor.ModelName);
            Assert.AreEqual(dbProcessor.Architecture, processor.Architecture);
            Assert.AreEqual(dbProcessor.Power, processor.Power);
            Assert.AreEqual(dbProcessor.Price, processor.Price);
            Assert.AreEqual(dbProcessor.Socket, processor.Socket);
            Assert.AreEqual(dbProcessor.Cache, processor.Cache);
            Assert.AreEqual(dbProcessor.Frequency, processor.Frequency);
            Assert.AreEqual(dbProcessor.MaxMemorySize, processor.MaxMemorySize);
            Assert.AreEqual(dbProcessor.Manufacturer, processor.Manufacturer);
            Assert.AreEqual(dbProcessor.NumberOfCores, processor.NumberOfCores);
        }