Example #1
0
 public FpRegradingResultDocsLoaderController(IIdentityService identityService, IValidateService validateService, IFpRegradingResultDocsService service)
 {
     IdentityService = identityService;
     ValidateService = validateService;
     Service         = service;
     ApiVersion      = "1.0.0";
 }
        public async Task <int> CreateAsync(FPReturnInvToPurchasing model)
        {
            int Created = 0;

            using (var transaction = DbContext.Database.BeginTransaction())
            {
                try
                {
                    IFpRegradingResultDocsService fpRegradingResultDocsService = ServiceProvider.GetService <IFpRegradingResultDocsService>();
                    foreach (FPReturnInvToPurchasingDetail detail in model.FPReturnInvToPurchasingDetails)
                    {
                        fpRegradingResultDocsService.UpdateIsReturnedToPurchasing(detail.FPRegradingResultDocsId, true);
                        detail.FlagForCreate(IdentityService.Username, UserAgent);
                        detail.FlagForUpdate(IdentityService.Username, UserAgent);
                    }

                    model = await this.NoGenerator(model);

                    DbSet.Add(model);
                    Created = await DbContext.SaveChangesAsync();
                    await CreateInventoryDocumentAsync(model, "OUT");

                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw new Exception("Insert Error : " + e.Message);
                }
            }

            return(Created);
        }
        public async Task <int> DeleteAsync(int id)
        {
            int Count = 0;


            using (var Transaction = this.DbContext.Database.BeginTransaction())
            {
                try
                {
                    IFpRegradingResultDocsService fpRegradingResultDocsService = ServiceProvider.GetService <IFpRegradingResultDocsService>();
                    FPReturnInvToPurchasing       fpReturnInvToPurchasing      = await ReadByIdAsync(id);

                    fpReturnInvToPurchasing.FlagForDelete(IdentityService.Username, UserAgent);
                    foreach (var item in fpReturnInvToPurchasing.FPReturnInvToPurchasingDetails)
                    {
                        fpRegradingResultDocsService.UpdateIsReturnedToPurchasing(item.FPRegradingResultDocsId, false);
                        item.FlagForDelete(IdentityService.Username, UserAgent);
                    }
                    Count = await DbContext.SaveChangesAsync();


                    await CreateInventoryDocumentAsync(fpReturnInvToPurchasing, "IN");

                    Transaction.Commit();
                }
                catch (Exception e)
                {
                    Transaction.Rollback();
                    throw new Exception("Delete Error : " + e.Message);
                }
            }

            return(Count);
        }
 public FPReturnInvToPurchasingFacade(IServiceProvider serviceProvider, FPReturnInvToPurchasingService fpReturnInvToPurchasingService, FPReturnInvToPurchasingDetailService fpReturnInvToPurchasingDetailService, IFpRegradingResultDocsService fpRegradingResultDocsService)
 {
     this.serviceProvider = serviceProvider;
     this.fpReturnInvToPurchasingService       = fpReturnInvToPurchasingService;
     this.fpReturnInvToPurchasingDetailService = fpReturnInvToPurchasingDetailService;
     this.fpRegradingResultDocsService         = fpRegradingResultDocsService;
 }