Ejemplo n.º 1
0
        public async Task RemoveOriginAsync(Data.Shared.Models.Origin origin)
        {
            var children      = _originRepository.GetSomeAsync(o => o.ParentOriginId == origin.OriginId, track: true);
            var updateOrigins = new List <Origin>();

            await foreach (var childOrigin in children)
            {
                childOrigin.ParentOrigin   = null;
                childOrigin.ParentOriginId = null;

                updateOrigins.Add(childOrigin);
            }

            await _originRepository.UpdateSomeAsync(updateOrigins);

            await _originRepository.RemoveAsync(origin.AsStore());
        }
Ejemplo n.º 2
0
        public async Task <Data.Shared.Models.Origin> AddOrUpdateOriginAsync(Data.Shared.Models.Origin origin, string userId)
        {
            origin.DateModified = DateTime.UtcNow;
            origin.CreatedBy    = userId;

            if (origin.Location != null && origin.Location.IsNotEmpty())
            {
                origin.Location = await _locationService.AddOrUpdateLocationAsync(origin.Location);
            }

            if (origin.ParentOrigin != null && origin.ParentOrigin.OriginId == 0)
            {
                var parentOrigin = await _originRepository.AddOrUpdateAsync(l => l.Id == origin.ParentOrigin.OriginId, origin.ParentOrigin.AsStore());

                origin.ParentOrigin = parentOrigin.AsModel();
            }

            var originResult = await _originRepository.AddOrUpdateAsync(l => l.Id == origin.OriginId, origin.AsStore());

            return(originResult.AsModel());
        }