BeiDream.Demo.Service.Resources.ResourceService.AddorUpdate C# (CSharp) Метод

AddorUpdate() публичный Метод

public AddorUpdate ( ResourceDto dto ) : void
dto BeiDream.Demo.Service.Resources.Dtos.ResourceDto
Результат void
        public void AddorUpdate(ResourceDto dto)
        {
            var entity = dto.MapTo<Resource>();
            //var query = _resourceRepository.GetAllAsNoTracking();
            //var model = query.SingleOrDefault(p => p.Id == entity.Id);
            var model = _resourceRepository.Find(entity.Id);
            Resource resourceParent = entity.ParentId == null ? null : _resourceRepository.Find((Guid)entity.ParentId);
            if (model == null)
            {
                entity.FixPathAndLevel(resourceParent);
                _resourceRepository.Add(entity);
            }
            else
            {
                model.FixPathAndLevel(resourceParent);
                //model.Id = entity.Id;
                model.ApplicationId = entity.ApplicationId;
                model.ParentId = entity.ParentId;
                model.Name = entity.Name;
                //model.Path = entity.Path;
                //model.Level = entity.Level;
                model.SortId = entity.SortId;
                model.Uri = entity.Uri;
                model.Type = entity.Type;
                model.Enabled = entity.Enabled;
                model.Version = entity.Version;
                _resourceRepository.Update(model);
            }
        }