Exemple #1
0
        public async Task <IHttpActionResult> GetDataPackageMerchandise(string maBoHang)
        {
            MdMerchandiseVm.DataBoHang result = null;
            //Tạm thời khóa mã đơn vị
            var unitCode = _serviceUser.GetCurrentUnitCode();
            var maKho    = _serviceUser.GetCurrentUnitCode() + "-K2";
            var service  = new ProcedureService <MdMerchandiseVm.DtoAndPromotion>();

            if (maBoHang.Substring(0, 2).Equals("BH"))
            {
                try
                {
                    var data = ProcedureCollection.GetDataBoHang(new BTS.API.ENTITY.ERPContext(), maBoHang, unitCode);
                    if (data != null)
                    {
                        foreach (var i in data.ListMaHang)
                        {
                            string codeMerchandise = i.MaVatTu;
                            //check tồn mã hàng này
                            var xntItem = ProcedureCollection.GetCostOfGoodsSoldByMerchandise(unitCode, maKho, codeMerchandise);
                            if (xntItem != null)
                            {
                                i.TonCuoiKySl       = xntItem.ClosingQuantity == 0 ? 0 : xntItem.ClosingQuantity;
                                i.LogKhuyenMaiError = 1;
                                i.IsBanAm           = false;
                                i.Status            = true;
                                i.Message           = "Bán mã bó hàng";
                                i.NoiDungKhuyenMai  = "Khuyến mại bó hàng";

                                if (i.TonCuoiKySl <= 0)
                                {
                                    i.LogKhuyenMaiError = 1;
                                    i.IsBanAm           = true;
                                    i.Status            = true;
                                    i.Message           = "Bán mã bó hàng";
                                    i.NoiDungKhuyenMai  = "Khuyến mại bó hàng";
                                }
                            }
                            //end check tồn
                        }
                    }
                    else
                    {
                    }
                    result = data;
                }
                catch (Exception ex)
                {
                    return(NotFound());
                }
            }
            return(Ok(result));
        }
Exemple #2
0
        public async Task <IHttpActionResult> PostDataMerchandise(MdMerchandiseVm.Search dataSearch)
        {
            var result = new TransferObj <MdMerchandiseVm.DtoAndPromotion>();
            //Tạm thời khóa mã đơn vị
            var _unitCode       = _serviceUser.GetCurrentUnitCode();
            var _parentUnitCode = _serviceUser.GetParentUnitCode();
            var _codeWareHouse  = _unitCode + "-K2";

            //trường hợp bán mã cân
            if (dataSearch.MaVatTu.Length > 9 && dataSearch.MaVatTu.Substring(0, 2).Equals("20"))
            {
                try
                {
                    var data = ProcedureCollection.GetBalanceCode(new ERPContext(), dataSearch.MaVatTu);
                    if (data != null && data.Count() == 1)
                    {
                        var    items           = data.ToList();
                        string codeMerchandise = items[0].MaVatTu;
                        result.Data = _serviceRetails.GetDataPromotionByMerchandise(items[0]);
                        //check tồn mã hàng này
                        var xntItem = ProcedureCollection.GetCostOfGoodsSoldByMerchandise(_unitCode, _codeWareHouse,
                                                                                          items[0].MaVatTu);
                        if (xntItem != null)
                        {
                            result.Data.TonCuoiKySl = xntItem.ClosingQuantity == 0 ? 0 : xntItem.ClosingQuantity;
                            result.Data.GiaVon      = xntItem.CostOfCapital == 0 ? 0 : xntItem.CostOfCapital;
                            if (result.Data.TonCuoiKySl <= 0)
                            {
                                result.Data.IsBanAm = true;
                            }
                        }
                        //end check tồn
                        result.Status = true;
                    }
                    else
                    {
                        result.Status  = false;
                        result.Message = "Không tìm thấy sản phẩm này trong danh sách hàng hóa ";
                    }
                }
                catch (Exception ex)
                {
                    return(NotFound());
                }
            }
            //trường hợp bán mã hàng
            else
            {
                try
                {
                    var data = ProcedureCollection.GetMerchandiseAndPromotion(new BTS.API.ENTITY.ERPContext(),
                                                                              dataSearch.MaVatTu, _parentUnitCode);
                    if (data != null && data.Count() == 1)
                    {
                        var    items           = data.ToList();
                        string codeMerchandise = items[0].MaVatTu;
                        result.Data = _serviceRetails.GetDataPromotionByMerchandise(items[0]);
                        //check tồn mã hàng này
                        var xntItem = ProcedureCollection.GetCostOfGoodsSoldByMerchandise(_unitCode, _codeWareHouse, items[0].MaVatTu);
                        if (xntItem != null)
                        {
                            result.Data.TonCuoiKySl = xntItem.ClosingQuantity == 0 ? 0 : xntItem.ClosingQuantity;
                            result.Data.GiaVon      = xntItem.CostOfCapital == 0 ? 0 : xntItem.CostOfCapital;
                            if (result.Data.TonCuoiKySl <= 0)
                            {
                                result.Data.IsBanAm = true;
                            }
                        }
                        // end check tồn
                        result.Status = true;
                    }
                    else
                    {
                        result.Status  = false;
                        result.Message = "Không tìm thấy sản phẩm này !";
                    }
                }
                catch (Exception ex)
                {
                    result.Status = false;
                    result.Data   = new MdMerchandiseVm.DtoAndPromotion();
                    return(Ok(result));
                }
            }
            //}
            return(Ok(result));
        }