예제 #1
0
 private void Create(AgreementAggregate item, bool notCheck)
 {
     context.ExecuteInTransaction(() =>
     {
         if (!notCheck && (item.Id != -1 || context.AgreementDTOs.SingleOrDefault(x => x.Id == item.Id) != null))
         {
             throw new ArgumentException($"Agreement id = {item.Id} found");
         }
         var newItem = Mapper.Map <AgreementDTO>(item);
         context.AgreementDTOs.Add(newItem);
     });
 }
예제 #2
0
 public void Update(AgreementAggregate item)
 {
     context.ExecuteInTransaction(() =>
     {
         var existed = context.AgreementDTOs.SingleOrDefault(x => x.Id == item.Id);
         if (existed != null)
         {
             Mapper.Map(item, existed);
         }
         else
         {
             Create(item, true);
         }
     });
 }
예제 #3
0
        public AgreementAggregate Get(long id)
        {
            var item = context.AgreementDTOs.FirstOrDefault(v => v.Id == id);

            if (item == null)
            {
                throw new ArgumentException($"Agreement id = {id} not found");
            }

            var result = new AgreementAggregate(item.Id, item.Name, item.Number, item.BegDate, item.EndDate, item.Deleted);

            foreach (var child in childrenRepository.GetByAgreement(result))
            {
                result.AddChildren(child);
            }
            return(result);
        }
예제 #4
0
 public IEnumerable <UnitAggregate> GetByAgreement(AgreementAggregate agreement)
 {
     return(GetByAgreement(agreement.Id));
 }
예제 #5
0
        public void Update(long id, string name, string number, DateTime begDate, DateTime endDate, bool deleted)
        {
            var item = new AgreementAggregate(id, name, number, begDate, endDate, deleted);

            Update(item);
        }
예제 #6
0
 public void Create(AgreementAggregate item)
 {
     Create(item, false);
 }