Exemple #1
0
        public async Task <Result <Guid> > Handle(CreateAgreementCommand request, CancellationToken token)
        {
            var store = await _context.Stores.SingleAsync(e => e.Id == request.StoreId, token);

            var producer = await _context.Producers.SingleAsync(e => e.Id == request.ProducerId, token);

            var currentUser = await _context.Users.SingleAsync(e => e.Id == request.RequestUser.Id, token);

            Domain.DeliveryMode delivery = null;
            if (request.DeliveryId.HasValue)
            {
                delivery = await _context.DeliveryModes.SingleAsync(e => e.Id == request.DeliveryId, token);
            }

            var entity = new Domain.Agreement(Guid.NewGuid(), store, producer, currentUser.Kind, delivery);

            if (request.CatalogId.HasValue)
            {
                var catalog = await _context.Catalogs.SingleAsync(e => e.Id == request.CatalogId.Value, token);

                entity.ChangeCatalog(catalog);
            }

            await _context.AddAsync(entity, token);

            await _context.SaveChangesAsync(token);

            return(Success(entity.Id));
        }
Exemple #2
0
 public IActionResult Create([FromBody] Domain.Agreement agremment)
 {
     if (_agremmentAppService.Create(agremment))
     {
         return(Ok(agremment));
     }
     else
     {
         return(BadRequest());
     }
 }
Exemple #3
0
 public static AgreementMailerModel GetNotificationData(this Domain.Agreement agreement, string agreementId, string url, string name)
 {
     return(new AgreementMailerModel
     {
         Name = name,
         Reason = agreement.Reason,
         AgreementId = agreementId,
         CreatedOn = agreement.CreatedOn,
         PortalUrl = $"{url}/#/agreements/{agreementId}?refresh={Guid.NewGuid():N}"
     });
 }
Exemple #4
0
        public bool Create(Domain.Agreement agreement)
        {
            try
            {
                _context.Agreements.Add(agreement);

                _context.SaveChanges();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #5
0
 public static StringContent GetNotificationContent(this Domain.Agreement agreement, string agreementId, string url, string name)
 {
     return(new StringContent(JsonConvert.SerializeObject(agreement.GetNotificationData(agreementId, url, name)), Encoding.UTF8, "application/json"));
 }
Exemple #6
0
 public bool Create(Domain.Agreement agreement)
 {
     return(_agreementDomainService.Create(agreement));
 }