Ejemplo n.º 1
0
        public async Task <IActionResult> PutTblStock(long id, TblStock tblStock)
        {
            if (id != tblStock.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Ejemplo n.º 2
0
        public async Task <ApiResponse> GetTblStock(TblStock tblStockobj)
        {
            var tblStock = await _context.TblStock.FindAsync(tblStockobj.Id);

            var ApiResponse = await response.ApiResult("OK", tblStock, "Record Found");

            return(ApiResponse);
        }
Ejemplo n.º 3
0
        private DataLayer.ItemDimensionSearchModel GetItemDimensionQuantities(
            string warehouseFromCode, string warehouseToCode, int itemDimIserial)
        {
            using (var entities = new WorkFlowManagerDBEntities())
            {
                var temp = entities.TblStocks.Include(
                    nameof(TblStock.TblWarehouse1)).Include(nameof(TblStock.TblItemDim1))
                           .Include(string.Format("{0}.{1}", nameof(TblStock.TblItemDim1), nameof(TblItemDim.TblColor1)));

                var itemFrom = temp.AsExpandable().FirstOrDefault(i => i.TblWarehouse1.Code == warehouseFromCode &&
                                                                  i.TblItemDim == itemDimIserial);
                var itemTo = temp.AsExpandable().FirstOrDefault(i => i.TblWarehouse1.Code == warehouseToCode &&
                                                                i.TblItemDim == itemDimIserial);
                if (itemTo == null)
                {
                    itemTo = new TblStock();
                }
                var result = new DataLayer.ItemDimensionSearchModel();
                if (itemFrom != null && itemTo != null)
                {
                    result = new DataLayer.ItemDimensionSearchModel()
                    {
                        ItemId   = itemFrom.TblItemDim1.ItemIserial,
                        ItemName = entities.FabricAccSearches.FirstOrDefault(i =>
                                                                             i.Iserial == itemFrom.TblItemDim1.ItemIserial && i.ItemGroup == itemFrom.TblItemDim1.ItemType) == null ? "" : entities.FabricAccSearches.FirstOrDefault(i =>
                                                                                                                                                                                                                                     i.Iserial == itemFrom.TblItemDim1.ItemIserial && i.ItemGroup == itemFrom.TblItemDim1.ItemType).Name,
                        ItemType = itemFrom.TblItemDim1.ItemType ?? "",
                        ItemCode = entities.FabricAccSearches.FirstOrDefault(i =>
                                                                             i.Iserial == itemFrom.TblItemDim1.ItemIserial && i.ItemGroup == itemFrom.TblItemDim1.ItemType).Code,
                        AvailableQuantity   = itemFrom.Qty,
                        PendingQuantity     = itemFrom.PendingQty,
                        AvailableToQuantity = itemTo.Qty,        // لانه نفس الصنف
                        PendingToQuantity   = itemTo.PendingQty, // لانه نفس الصنف
                        SiteFromIserial     = itemFrom.TblItemDim1.TblSite,
                        BatchNoFrom         = itemFrom.TblItemDim1.BatchNo ?? "",
                        SizeFrom            = itemFrom.TblItemDim1.Size ?? "",
                        ColorFromId         = itemFrom.TblItemDim1.TblColor,
                        SiteToIserial       = itemFrom.TblItemDim1.TblSite,       //itemTo
                        BatchNoTo           = itemFrom.TblItemDim1.BatchNo ?? "", //itemTo
                        SizeTo              = itemFrom.TblItemDim1.Size ?? "",    //itemTo
                        ColorToId           = itemFrom.TblItemDim1.TblColor,      //itemTo
                        IsAcc               = itemFrom.TblItemDim1.ItemType.ToLower().Contains("acc"),
                        ItemDimFromIserial  = itemFrom.TblItemDim,
                        ItemDimToIserial    = itemFrom.TblItemDim,//itemTo
                        TransferredQuantity = 0,
                    };
                    result.ColorFromCode = entities.TblColors.FirstOrDefault(c => c.Iserial == itemFrom.TblItemDim1.TblColor).Code;
                    result.ColorFrom.InjectFrom(itemFrom.TblItemDim1.TblColor1);   //itemFrom
                    result.ColorPerRow.InjectFrom(itemFrom.TblItemDim1.TblColor1); //itemTo
                }
                return(result);
            }
        }
Ejemplo n.º 4
0
        //public async Task<ActionResult<IEnumerable<TblStock>>> GetStockByNumber(TblStock tblStock)
        //{
        //    var tblStockResult = await _context.TblStock.Where(i=>i.StockNumber==tblStock.StockNumber).ToListAsync();

        //    if (tblStock == null)
        //    {
        //        return NotFound();
        //    }

        //    return tblStockResult;
        //}
        public async Task <ApiResponse> GetStockByNumber(TblStock tblStock)
        {
            ApiResponse response = new ApiResponse();
            string      message  = "Record Not Found";

            try
            {
                List <TblStock> listStock = new List <TblStock>();
                if (tblStock.StockNumber != "")
                {
                    var stockArray = tblStock.StockNumber.Split(',');

                    for (int i = 0; i < stockArray.Length; i++)
                    {
                        var stocknumber = stockArray[i].ToString();

                        var listinvoice = await _context.TblInvoice.Where(j => j.StockNumber == stocknumber).ToListAsync();

                        if (listinvoice.Count == 0)
                        {
                            List <TblStock> tblStockResult = await _context.TblStock.Where(j => j.StockNumber == stocknumber).ToListAsync();

                            listStock.AddRange(tblStockResult);
                        }
                    }
                    if (listStock.Count == 0)
                    {
                        //message;
                    }
                    else
                    {
                        message = "Record Found";
                    }
                }
                var ApiResponse = await response.ApiResult("OK", listStock, message);

                return(ApiResponse);
            }
            catch (Exception ex)
            {
                var ApiResponse = await response.ApiResult("FAILED", "", ex.ToString());

                return(ApiResponse);
            }
        }
Ejemplo n.º 5
0
        public async Task <ApiResponse> AddStock(TblStock tblStock)
        {
            var headd = Request.Headers["Auth"];

            _context.TblStock.Add(tblStock);
            await _context.SaveChangesAsync();

            var currentmonthShort = DateTime.Now.ToString("MMM-dd");
            var stockNumber       = currentmonthShort + "-" + String.Format("{0:D4}", tblStock.Id);

            tblStock.StockNumber = stockNumber;
            _context.Entry(tblStock).Property(x => x.StockNumber).IsModified = true;
            await _context.SaveChangesAsync();

            var ApiResponse = await response.ApiResult("OK", tblStock.Id, "Record Add");

            return(ApiResponse);
            // return CreatedAtAction("GetTblStock", new { id = tblStock.Id }, tblStock);
        }
Ejemplo n.º 6
0
        public async Task <ApiResponse> UpdateStock(TblStock tblStock)
        {
            _context.Entry(tblStock).State = EntityState.Modified;
            _context.Entry(tblStock).Property(x => x.RecordDate).IsModified  = false;
            _context.Entry(tblStock).Property(x => x.StockNumber).IsModified = false;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                var ApiResponseCatch = await response.ApiResult("FAILED", "", "Bank Not Found");

                return(ApiResponseCatch);
            }

            var ApiResponse = await response.ApiResult("OK", tblStock, "Record Update");

            return(ApiResponse);
        }
Ejemplo n.º 7
0
        public async Task <ApiResponse> ImportStock(TblStock tblStock)
        {
            /// Sample Code
            // [NotMapped]
            //public object StockImportDetail { get; set; }
            ///
            List <TblStock> ListStockImportDetail = JsonConvert.DeserializeObject <List <TblStock> >(tblStock.StockImportDetail.ToString());
            var             DuplicateID           = "";
            var             currentStockID        = "";

            try
            {
                var headd = Request.Headers["Auth"];
                for (int i = 0; i < ListStockImportDetail.Count; i++)
                {
                    currentStockID = "";
                    try
                    {
                        currentStockID = ListStockImportDetail[i].StockNumber;
                        var existingCount = _context.TblStock.Count(a => a.StockNumber == currentStockID);
                        if (existingCount == 0)
                        {
                            _context.TblStock.Add(ListStockImportDetail[i]);

                            await _context.SaveChangesAsync();
                        }
                        else
                        {
                            DuplicateID += currentStockID + ",";
                        }


                        //ListStockImportDetail[i].StockNumber = tblStock.Id.ToString();
                        //_context.Entry(ListStockImportDetail[i]).Property(x => x.StockNumber).IsModified = true;
                        //await _context.SaveChangesAsync();
                    }
                    catch (Exception ex) {
                        //continue;
                    }
                }
                if (DuplicateID != null && DuplicateID != "")
                {
                    var ApiResponse = await response.ApiResult("FAILED", DuplicateID, "Record Import");

                    return(ApiResponse);
                }
                else
                {
                    var ApiResponse = await response.ApiResult("OK", DuplicateID, "Record Import");

                    return(ApiResponse);
                }
                //  _context.TblStock.Add(tblStock);
                //await _context.SaveChangesAsync();

                //var ApiResponse = await response.ApiResult("OK", DuplicateID, "Record Import");
                //return ApiResponse;
            }
            catch (Exception ex) {
                //DuplicateID += currentStockID + ",";
                var ApiResponseExp = await response.ApiResult("FAILED", ex.ToString(), "Record Import");

                return(ApiResponseExp);
            }

            // return CreatedAtAction("GetTblStock", new { id = tblStock.Id }, tblStock);
        }