public void Shoul_Success_Build_EditDetailRincian()
        {
            var vm = new EditDetailRincian()
            {
                AccountingBookId      = 1,
                AccountingBookType    = "Type",
                GarmentCurrenciesCode = "Code",
                GarmentCurrenciesId   = 1,
                GarmentCurrenciesRate = 1,
                IsPosted = false,
                Items    = new List <EditDetailRincianItems>()
                {
                    new EditDetailRincianItems()
                    {
                        GarmentDeliveryOrderId = 1,
                        GarmentDeliveryOrderNo = "DONo",
                        Id             = 1,
                        MemoAmount     = 1,
                        MemoIdrAmount  = 1,
                        PaymentRate    = 1,
                        PurchasingRate = 1,
                        RemarksDetail  = ""
                    }
                },
                MemoDate = DateTimeOffset.Now,
                MemoId   = 1,
                MemoNo   = "No",
                Remarks  = "Remarks"
            };

            Assert.NotNull(vm);
        }
Beispiel #2
0
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] EditDetailRincian viewModel)
        {
            try
            {
                VerifyUser();

                _validateService.Validate(viewModel);
                await _service.UpdateAsync(id, viewModel);

                return(NoContent());
            }
            catch (ServiceValidationException e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                    .Fail(e);
                return(BadRequest(Result));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
Beispiel #3
0
        public void UpdateModel(int id, EditDetailRincian viewModel)
        {
            MemoDetailGarmentPurchasingModel existDb = DbSet
                                                       .Include(d => d.MemoDetailGarmentPurchasingDetail)
                                                       .Single(memoDetail => memoDetail.Id == id && !memoDetail.IsDeleted);


            existDb.MemoId                = viewModel.MemoId;
            existDb.Remarks               = viewModel.Remarks;
            existDb.MemoNo                = viewModel.MemoNo;
            existDb.MemoDate              = viewModel.MemoDate;
            existDb.AccountingBookId      = viewModel.AccountingBookId;
            existDb.AccountingBookType    = viewModel.AccountingBookType;
            existDb.GarmentCurrenciesId   = viewModel.GarmentCurrenciesId;
            existDb.GarmentCurrenciesCode = viewModel.GarmentCurrenciesCode;
            existDb.GarmentCurrenciesRate = viewModel.GarmentCurrenciesRate;
            existDb.IsPosted              = viewModel.IsPosted;

            EntityExtension.FlagForUpdate(existDb, _identityService.Username, UserAgent);
            DbSet.Update(existDb);

            foreach (var existRow in existDb.MemoDetailGarmentPurchasingDetail)
            {
                EditDetailRincianItems itemModel = viewModel.Items.FirstOrDefault(p => p.Id.Equals(existRow.Id));
                if (itemModel == null)
                {
                    EntityExtension.FlagForDelete(existRow, _identityService.Username, UserAgent);
                }
                else
                {
                    existRow.GarmentDeliveryOrderId = itemModel.GarmentDeliveryOrderId;
                    existRow.GarmentDeliveryOrderNo = itemModel.GarmentDeliveryOrderNo;
                    existRow.RemarksDetail          = itemModel.RemarksDetail;
                    existRow.PaymentRate            = itemModel.PaymentRate;
                    existRow.PurchasingRate         = itemModel.PurchasingRate;
                    existRow.MemoAmount             = itemModel.MemoAmount;
                    existRow.MemoIdrAmount          = itemModel.MemoIdrAmount;

                    EntityExtension.FlagForUpdate(existRow, _identityService.Username, UserAgent);
                }
            }

            _dbContext.MemoDetailGarmentPurchasingDetails.UpdateRange(existDb.MemoDetailGarmentPurchasingDetail);

            foreach (var item in viewModel.Items)
            {
                if (item.Id == 0)
                {
                    MemoDetailGarmentPurchasingDetailModel model = new MemoDetailGarmentPurchasingDetailModel();

                    model.GarmentDeliveryOrderId = item.GarmentDeliveryOrderId;
                    model.GarmentDeliveryOrderNo = item.GarmentDeliveryOrderNo;
                    model.RemarksDetail          = item.RemarksDetail;
                    model.PaymentRate            = item.PaymentRate;
                    model.PurchasingRate         = item.PurchasingRate;
                    model.MemoAmount             = item.MemoAmount;
                    model.MemoIdrAmount          = item.MemoIdrAmount;
                    model.MemoDetailId           = id;

                    EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent);
                    DbSetDetail.Add(model);
                }
            }
        }
Beispiel #4
0
 public async Task <int> UpdateAsync(int id, EditDetailRincian viewModel)
 {
     UpdateModel(id, viewModel);
     return(await _dbContext.SaveChangesAsync());
 }