public CashSalesInvoiceDetail UnconfirmObject(CashSalesInvoiceDetail cashSalesInvoiceDetail, IWarehouseItemService _warehouseItemService,
                                               IWarehouseService _warehouseService, IItemService _itemService, IBarringService _barringService, IStockMutationService _stockMutationService)
 {
     if (_validator.ValidUnconfirmObject(cashSalesInvoiceDetail))
     {
         IList <StockMutation> stockMutations = _stockMutationService.GetObjectsBySourceDocumentDetailForItem(cashSalesInvoiceDetail.ItemId, Core.Constants.Constant.SourceDocumentDetailType.CashSalesInvoiceDetail, cashSalesInvoiceDetail.Id);
         foreach (var stockMutation in stockMutations)
         {
             stockMutation.Errors = new Dictionary <string, string>();
             _stockMutationService.ReverseStockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService);
             _stockMutationService.SoftDeleteObject(stockMutation, _warehouseService, _warehouseItemService, _itemService, _barringService);
         }
         cashSalesInvoiceDetail.CoGS = 0;
         cashSalesInvoiceDetail      = _repository.UnconfirmObject(cashSalesInvoiceDetail);
     }
     return(cashSalesInvoiceDetail);
 }
Beispiel #2
0
        public CashSalesInvoice VIsUnconfirmableCashSalesInvoiceDetails(CashSalesInvoice cashSalesInvoice, ICashSalesInvoiceDetailService _cashSalesInvoiceDetailService)
        {
            IList <CashSalesInvoiceDetail> cashSalesInvoiceDetails = _cashSalesInvoiceDetailService.GetObjectsByCashSalesInvoiceId(cashSalesInvoice.Id);

            if (!cashSalesInvoiceDetails.Any())
            {
                cashSalesInvoice.Errors.Add("Generic", "CashSalesInvoiceDetails Tidak ada");
            }
            else
            {
                ICashSalesInvoiceDetailValidator validator = _cashSalesInvoiceDetailService.GetValidator();
                foreach (var cashSalesInvoiceDetail in cashSalesInvoiceDetails)
                {
                    cashSalesInvoiceDetail.Errors = new Dictionary <string, string>();
                    if (!validator.ValidUnconfirmObject(cashSalesInvoiceDetail))
                    {
                        cashSalesInvoice.Errors.Add("Generic", "CashSalesInvoiceDetails harus unconfirmable semua");
                        return(cashSalesInvoice);
                    }
                }
            }
            return(cashSalesInvoice);
        }