Пример #1
0
        public bool AddElement(ElementDto elementDto)
        {
            var isElementValid = IsElementValid(elementDto);

            if (!isElementValid)
            {
                return(false);
            }

            var element = new Element
            {
                Name              = elementDto.Name,
                Rate              = elementDto.Rate,
                ElementTypeId     = elementDto.ElementType.Id.Value,
                ElementCategoryId = elementDto.ElementCategory.Id.Value,
                ElementFields     = elementDto.ElementFields.Select(x => new ElementField
                {
                    Name  = x.Name,
                    Value = x.Value
                }).ToList()
            };

            _quotesDbContext.Elements.Add(element);
            _quotesDbContext.SaveChanges();
            return(true);
        }
Пример #2
0
        private CreateEntityCommand CreateCreateEntityCommand(string entityName, bool addElement)
        {
            var attributeModel = new AttributeDto()
            {
                Name      = "Id",
                DataType  = EnumDataTypes.String,
                AllowNull = false,
                Length    = 32
            };

            var command = new CreateEntityCommand()
            {
                Name       = entityName,
                Attributes = new List <AttributeDto>()
                {
                    attributeModel
                }
            };

            if (addElement)
            {
                var elementEntityCommand = CreateCreateEntityCommand("ElementChild", false);
                var elementDto           = new ElementDto()
                {
                    Entity   = elementEntityCommand,
                    DataType = EnumDataTypes.Object
                };
                command.Elements = new List <ElementDto>()
                {
                    elementDto
                };
            }

            return(command);
        }
        public IActionResult AddElement(ElementDto elementDto)
        {
            var isValid = _elementRepository.AddElement(elementDto);

            if (!isValid)
            {
                return(BadRequest("Element invalid"));
            }
            return(Ok());
        }
Пример #4
0
        public ActionResult Create(ElementDto element)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(modelState: ModelState));
            }

            var created = this.repository.Add(this.mapper.Map <Element>(element));

            return(CreatedAtAction(nameof(Get), new { id = created.Id }, this.mapper.Map <ElementDto>(created)));
        }
Пример #5
0
        public RedirectToActionResult AddElement([FromForm] ElementDto elementDto)
        {
            try
            {
                _elementService.Add(elementDto);
            }
            catch (Exception ex)
            {
                return(RedirectToAction(actionName: "New"));
            }

            return(RedirectToAction("List", "Element"));
        }
Пример #6
0
        public string UpdateElement(ElementDto input)
        {
            var item = _elementRepository.GetAll().Where(x => x.IsDeleted == false && x.Name == input.Name).Count();

            if (item > 0)
            {
                return("该元素已经存在");
            }

            var entity = input.MapTo <Element>();

            _elementRepository.Update(entity);

            return("修改成功!");
        }
Пример #7
0
        public Response <ElementDto> Put(ElementDto elementDto)
        {
            Response <ElementDto> response = new Response <ElementDto>();

            try
            {
                response.Object = this._elementService.Update(elementDto);
            }
            catch (Exception ex)
            {
                response.Errored      = true;
                response.ErrorMessage = ex.Message;
                _logger.LogError($"{typeof(ElementController).FullName}.{nameof(Put)}", elementDto);
            }
            return(response);
        }
Пример #8
0
        public void ElementServiceAdd()
        {
            DateTime now        = DateTime.Now;
            var      elementDto = new ElementDto();

            elementDto.Id             = Guid.NewGuid();
            elementDto.Name           = "Elemento 1";
            elementDto.ExpirationDate = now;
            elementDto.EntryDate      = now;
            elementDto.Type           = "Tipo A";

            Mock <IRepository <Element> > elementRepository = new Mock <IRepository <Element> >();

            var elementService = new ElementService(elementRepository.Object, _mapper);

            var result = elementService.Add(elementDto);

            Assert.IsNotNull(result);
        }
Пример #9
0
        public bool EditElement(ElementDto elementDto)
        {
            var isElementValid = IsElementValid(elementDto);

            if (!isElementValid)
            {
                return(false);
            }

            var element = _quotesDbContext.Elements
                          .AsQueryable()
                          .Include(x => x.ElementFields)
                          .Single(x => x.Id == elementDto.Id.Value);

            element.Name = elementDto.Name;
            element.Rate = elementDto.Rate;
            element.ElementCategoryId = elementDto.ElementCategory.Id.Value;
            element.ElementTypeId     = elementDto.ElementType.Id.Value;

            var elementFieldsDeleted =
                element.ElementFields.Where(x => elementDto.ElementFields.All(ef => (ef.Id ?? 0) != x.Id));
            var elementsEdited =
                element.ElementFields.Where(x => elementDto.ElementFields.Any(ef => (ef.Id ?? 0) == x.Id));

            foreach (var elementField in elementsEdited)
            {
                var fieldEdited = elementDto.ElementFields.First(x => x.Id == elementField.Id);
                elementField.Name  = fieldEdited.Name;
                elementField.Value = fieldEdited.Value;
            }

            var fieldsAdded = elementDto.ElementFields.Where(x => !x.Id.HasValue).Select(x => new ElementField
            {
                Name    = x.Name,
                Value   = x.Value,
                Element = element
            });

            _quotesDbContext.ElementFields.AddRange(fieldsAdded);
            _quotesDbContext.ElementFields.RemoveRange(elementFieldsDeleted);
            _quotesDbContext.SaveChanges();
            return(true);
        }
Пример #10
0
 public ActionResult Update(ElementDto element)
 {
     this.repository.Update(this.mapper.Map <Element>(element));
     return(Ok(this.mapper.Map <ElementDto>(element)));
 }
Пример #11
0
 private bool IsElementValid(ElementDto elementDto)
 {
     return(elementDto.ElementType.Id.HasValue && elementDto.ElementCategory.Id.HasValue);
 }