Ejemplo n.º 1
0
 public async Task <ActionResult <IEnumerable <T> > > PostPackage([FromBody] List <T> values)
 {
     using (var transaction = new DBTransaction(table.Connection, CurrentUser))
     {
         T current = null;
         try
         {
             if (values == null)
             {
                 throw new InvalidOperationException("Some deserialization problem!");
             }
             foreach (var value in values)
             {
                 transaction.AddItem(value, true);
             }
             foreach (var value in values)
             {
                 current = value;
                 if (IsDenied(value, transaction.Caller))
                 {
                     transaction.Rollback();
                     return(Forbid());
                 }
                 await value.Save(transaction);
             }
             transaction.Commit();
         }
         catch (Exception ex)
         {
             transaction.Rollback();
             return(BadRequest(ex, current));
         }
     }
     return(Ok(values));
 }