コード例 #1
0
        public async Task <IActionResult> Put(int id, InventoryTransactionLines model)
        {
            if (id != model.Id)
            {
                return(BadRequest());
            }

            _context.Entry(model).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!IdExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <IActionResult> PostTransaction([FromBody] InventoryTransactionLines transactionApi)
        {
            APIResponse response = new APIResponse();

            try
            {
                Models.InventoryTransactionLines transactionLines = new Models.InventoryTransactionLines();
                transactionLines.InventoryTransactionId = transactionApi.InventoryTransactionId;
                transactionLines.ArticleId   = transactionApi.ArticleId;
                transactionLines.ArticleName = transactionApi.ArticleName;
                transactionLines.Qty         = transactionApi.Qty;
                _context.InventoryTransactionLines.Add(transactionLines);
                await _context.SaveChangesAsync();

                response.code    = "1";
                response.message = "Sucess Add Data";
            }
            catch (Exception ex)
            {
                response.code    = "0";
                response.message = ex.ToString();
            }
            return(Ok(response));
        }
コード例 #3
0
        public IActionResult getMutasi(String StoreCode)
        {
            List <InventoryTransactionLines> listtransline = _context.InventoryTransactionLines.ToList();
            List <Item>                 listitem           = _context.Item.ToList();
            List <MutasiOrder>          deliveryOrders     = new List <MutasiOrder>();
            List <InventoryTransaction> dos = _context.InventoryTransaction.Where(c => c.WarehouseOriginal == StoreCode && c.TransactionTypeId == RetailEnum.MutasiOrderOut && c.InforBypass == true).ToList();

            foreach (InventoryTransaction intrans in dos)
            {
                // tambah ini

                InventoryTransaction inventory = intrans;
                //========
                //Select For Header
                MutasiOrder doObj = new MutasiOrder
                {
                    date          = DateTime.Now.ToString("yyyy-MM-dd"),
                    id            = inventory.Id,
                    mutasiOrderId = inventory.TransactionId,

                    status              = inventory.StatusId.HasValue ? inventory.StatusId.Value : 0,
                    totalQty            = inventory.TotalQty.HasValue ? inventory.TotalQty.Value : 0,
                    mutasiFromWarehouse = inventory.WarehouseOriginal,
                    mutasiToWarehouse   = inventory.WarehouseDestination,
                    isPbmPbk            = inventory.InforBypass.HasValue ? inventory.InforBypass.Value : false,
                    totalAmount         = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == inventory.Id).Sum(d => d.ValueSalesPrice),
                };

                List <MutasiOrderLine> deliveryOrderLines = new List <MutasiOrderLine>();
                int sumLines = 0;
                //  List<InventoryTransactionLines> dosLines = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == intrans.Id).ToList();
                List <InventoryTransactionLines> dosLines = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == inventory.Id).ToList();


                foreach (InventoryTransactionLines doObjLines in dosLines)
                {
                    //
                    int idx2 = indexttransline(doObjLines.Id, listtransline);
                    InventoryTransactionLines invenlines = listtransline[idx2];
                    int  idx3 = indextitems(invenlines.ArticleId, listitem);
                    Item item = listitem[idx3];



                    MutasiOrderLine doLine = new MutasiOrderLine
                    {
                        id      = invenlines.Id,
                        article = new Article
                        {
                            articleId      = item.ItemId,
                            articleIdAlias = item.ItemIdAlias,
                            articleName    = invenlines.ArticleName
                        },
                        articleIdFk     = item.Id,
                        mutasiOrderIdFk = inventory.Id,
                        mutasiOrderId   = inventory.TransactionId,
                        quantity        = invenlines.Qty.Value
                    };
                    deliveryOrderLines.Add(doLine);
                }

                doObj.totalQty         = inventory.TotalQty.Value;
                doObj.mutasiOrderLines = deliveryOrderLines;
                deliveryOrders.Add(doObj);
            }
            return(Ok(deliveryOrders));
        }
コード例 #4
0
        public List <Article> getArticle(String customerCode)
        {
            List <Article> allArticle = new List <Article>();

            try
            {
                Customer       customer        = _context.Customer.Where(c => c.CustId == customerCode).First();
                Store          store           = _context.Store.Where(c => c.Id == customer.StoreId).First();
                List <Article> listArtice      = new List <Article>();
                var            priceMaster     = _context.PriceList;
                var            itemMaster      = _context.Item;
                var            inventoryMaster = _context.InventoryLines.Where(c => c.WarehouseId == store.Code);
                var            itemPrice       =
                    from price in priceMaster
                    join item in itemMaster on price.ItemId equals item.ItemIdAlias
                    join inventoryLines in inventoryMaster on item.Id equals inventoryLines.ItemId
                    select new Article
                {
                    id             = item.Id,
                    price          = price.SalesPrice,
                    articleId      = item.ItemId,
                    articleIdAlias = item.ItemIdAlias,
                    articleName    = item.Name,
                    itemGroup      = item.ItemGroup,
                    unit           = "PCS",
                    isService      = item.IsServiceItem.HasValue ? item.IsServiceItem.Value : false
                };
                allArticle = itemPrice.ToList();

                //  List<InventoryTransaction> deliveryOrder = _context.InventoryTransaction.Where(c => c.WarehouseDestination == store.Code && c.TransactionTypeId == Config.RetailEnum.doTransaction && c.StatusId == Config.RetailEnum.doStatusPending).ToList();
                List <InventoryTransaction> deliveryOrder = _context.InventoryTransaction.Where(c => c.WarehouseDestination == store.Code && c.TransactionTypeId == Config.RetailEnum.doTransaction).ToList();
                if (deliveryOrder.Count > 0)
                {
                    for (int i = 0; i < deliveryOrder.Count; i++)
                    {
                        InventoryTransaction             inventoryTransaction = deliveryOrder[i];
                        List <InventoryTransactionLines> list = _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == inventoryTransaction.Id).ToList();
                        for (int j = 0; j < list.Count; j++)
                        {
                            InventoryTransactionLines inventoryTransactionLines = list[j];
                            try
                            {
                                //check if exist in current item;

                                bool isItemExistInCurrent = allArticle.Any(c => c.articleIdAlias == list[j].ArticleId); //sebelum ny c.artileid //ganti itemprice.any jadi allitem.any
                                if (!isItemExistInCurrent)
                                {
                                    Item    item    = itemMaster.Where(c => c.ItemIdAlias == inventoryTransactionLines.ArticleId).First();// sbelum ny c.ItemId
                                    Article article = new Article();

                                    article.id = item.Id;
                                    if (priceMaster.Any(c => c.ItemId == item.ItemIdAlias))
                                    {
                                        article.price = priceMaster.Where(c => c.ItemId == item.ItemIdAlias).First().SalesPrice;
                                    }
                                    else
                                    {
                                        article.price = 0;
                                    }
                                    article.articleId      = item.ItemId;
                                    article.articleIdAlias = item.ItemIdAlias;
                                    article.articleName    = item.Name;
                                    article.unit           = "PCS";
                                    allArticle.Add(article);
                                }
                            }
                            catch { }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(allArticle);
        }