示例#1
0
 public async Task <int> UpdateAsync(int id, FinishingPrintingCostCalculationModel model)
 {
     finishingPrintingCostCalculationLogic.UpdateAsync(id, model);
     if (!string.IsNullOrWhiteSpace(model.ImageFile))
     {
         model.ImagePath = await this.AzureImageFacade.UploadImage(model.GetType().Name, model.Id, model.CreatedUtc, model.ImageFile);
     }
     return(await DbContext.SaveChangesAsync());
 }
示例#2
0
        public async Task <int> CreateAsync(FinishingPrintingCostCalculationModel model)
        {
            int created = 0;

            using (var transaction = DbContext.Database.BeginTransaction())
            {
                try
                {
                    finishingPrintingCostCalculationLogic.Create(model);
                    created += await DbContext.SaveChangesAsync();

                    foreach (var machine in model.Machines)
                    {
                        foreach (var chemical in machine.Chemicals)
                        {
                            chemical.CostCalculationId = model.Id;
                        }
                    }


                    if (!string.IsNullOrWhiteSpace(model.ImageFile))
                    {
                        model.ImagePath = await AzureImageFacade.UploadImage(model.GetType().Name, model.Id, model.CreatedUtc, model.ImageFile);
                    }

                    created += await DbContext.SaveChangesAsync();


                    transaction.Commit();
                    return(created);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
        }