コード例 #1
0
ファイル: BILLController.cs プロジェクト: BiancoLee/BETA
        /// <summary>
        /// 更新在庫資料為調整後的資料
        /// </summary>
        /// <param name="model"></param>
        private void setDbAllData(CDCBillViewModel model)
        {
            var allData = (List <CDCBillViewModel>)Cache.Get(CacheList.CDCBILLAllData);
            var remove  = allData.First(x => x.vItemId == model.vItemId);

            allData.Remove(remove);
            allData.Add(model);
            Cache.Invalidate(CacheList.CDCBILLAllData);
            Cache.Set(CacheList.CDCBILLAllData, allData);
        }
コード例 #2
0
ファイル: BILLController.cs プロジェクト: BiancoLee/BETA
        /// <summary>
        ///  比對資料系統檢視存入空白票據的票據的票號(起),票號(迄)是否與庫存重複
        /// </summary>
        /// <param name="data"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        private string chechSameDataByCDC(List <CDCBillViewModel> data, CDCBillViewModel model)
        {
            string msg = string.Empty;
            List <CDCBillViewModel> result = new List <CDCBillViewModel>();

            try
            {
                data = data.Where(x => x.vItemId != model.vItemId &&
                                  x.vItemId != null &&
                                  x.vBill_Issuing_Bank == model.vBill_Issuing_Bank).ToList();
                result.AddRange(
                    data.Where(x =>
                               (x.vBill_Check_No_B_AFT == null ? int.Parse(x.vBill_Check_No_B) : int.Parse(x.vBill_Check_No_B_AFT)) <= int.Parse(model.vBill_Check_No_B) &&
                               int.Parse(model.vBill_Check_No_B) <= (x.vBill_Check_No_E_AFT == null ? int.Parse(x.vBill_Check_No_E) : int.Parse(x.vBill_Check_No_E_AFT))));
                result.AddRange(
                    data.Where(x =>
                               (x.vBill_Check_No_B_AFT == null ? int.Parse(x.vBill_Check_No_B) : int.Parse(x.vBill_Check_No_B_AFT)) <= int.Parse(model.vBill_Check_No_E) &&
                               int.Parse(model.vBill_Check_No_E) <= (x.vBill_Check_No_E_AFT == null ? int.Parse(x.vBill_Check_No_E) : int.Parse(x.vBill_Check_No_E_AFT))));
                result.AddRange(
                    data.Where(x =>
                               (x.vBill_Check_No_B_AFT == null ? int.Parse(x.vBill_Check_No_B) : int.Parse(x.vBill_Check_No_B_AFT)) >= int.Parse(model.vBill_Check_No_B) &&
                               int.Parse(model.vBill_Check_No_E) >= (x.vBill_Check_No_E_AFT == null ? int.Parse(x.vBill_Check_No_E) : int.Parse(x.vBill_Check_No_E_AFT))));

                if (result.Any())
                {
                    msg = $"您建置存入票號(起)/票號(迄)和下面當日庫存明細資料重疊敬請確認,謝謝!</br>重複區段</br>發票行:{model.vBill_Issuing_Bank}";
                    result.Select(x => $"{string.Join(",", $@"支票號碼(起):{(x.vBill_Check_No_B_AFT ==null ? x.vBill_Check_No_B : x.vBill_Check_No_B_AFT)},支票號碼(迄):{(x.vBill_Check_No_E_AFT == null ? x.vBill_Check_No_E : x.vBill_Check_No_E_AFT)}")}")
                    .Distinct().ToList()
                    .ForEach(x => msg += $"</br>{x}");
                }
            }
            catch
            {
            }
            return(msg);
        }
コード例 #3
0
ファイル: BILLController.cs プロジェクト: BiancoLee/BETA
        public JsonResult UpdateDbData(CDCBillViewModel model)
        {
            MSGReturnModel <bool> result = new MSGReturnModel <bool>();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.login_Time_Out.GetDescription();
            if (Cache.IsSet(CacheList.CDCBILLData))
            {
                var dbData         = (List <CDCBillViewModel>)Cache.Get(CacheList.CDCBILLData);
                var updateTempData = dbData.FirstOrDefault(x => x.vItemId == model.vItemId);
                if (updateTempData != null)
                {
                    var allData = (List <CDCBillViewModel>)Cache.Get(CacheList.CDCBILLAllData);
                    var msg     = chechSameDataByCDC(allData, updateTempData);
                    if (!msg.IsNullOrWhiteSpace())
                    {
                        result.RETURN_FLAG = false;
                        result.DESCRIPTION = msg;
                        return(Json(result));
                    }
                    var _vBill_Issuing_Banke_AFT = model.vBill_Issuing_Bank.CheckAFT(updateTempData.vBill_Issuing_Bank);
                    if (_vBill_Issuing_Banke_AFT.Item2)
                    {
                        updateTempData.vBill_Issuing_Bank_AFT = _vBill_Issuing_Banke_AFT.Item1;
                    }
                    var _vBill_Check_Type_AFT = model.vBill_Check_Type.CheckAFT(updateTempData.vBill_Check_Type);
                    if (_vBill_Check_Type_AFT.Item2)
                    {
                        updateTempData.vBill_Check_Type_AFT = _vBill_Check_Type_AFT.Item1;
                    }
                    var _vBill_Check_No_Track_AFT = model.vBill_Check_No_Track.CheckAFT(updateTempData.vBill_Check_No_Track);
                    if (_vBill_Check_No_Track_AFT.Item2)
                    {
                        updateTempData.vBill_Check_No_Track_AFT = _vBill_Check_No_Track_AFT.Item1;
                    }
                    var _vBill_Check_No_B_AFT = model.vBill_Check_No_B.CheckAFT(updateTempData.vBill_Check_No_B);
                    if (_vBill_Check_No_B_AFT.Item2)
                    {
                        updateTempData.vBill_Check_No_B_AFT = _vBill_Check_No_B_AFT.Item1;
                    }
                    var _vBill_Check_No_E_AFT = model.vBill_Check_No_E.CheckAFT(updateTempData.vBill_Check_No_E);
                    if (_vBill_Check_No_E_AFT.Item2)
                    {
                        updateTempData.vBill_Check_No_E_AFT = _vBill_Check_No_E_AFT.Item1;
                    }
                    updateTempData.vAFTFlag = _vBill_Issuing_Banke_AFT.Item2 || _vBill_Check_Type_AFT.Item2 || _vBill_Check_No_Track_AFT.Item2 || _vBill_Check_No_B_AFT.Item2 || _vBill_Check_No_E_AFT.Item2;
                    setDbAllData(model);
                    Cache.Invalidate(CacheList.CDCBILLData);
                    Cache.Set(CacheList.CDCBILLData, dbData);
                    result.Datas       = dbData.Any(x => x.vAFTFlag);
                    result.RETURN_FLAG = true;
                    result.DESCRIPTION = Ref.MessageType.update_Success.GetDescription();
                }
                else
                {
                    result.RETURN_FLAG = false;
                    result.DESCRIPTION = Ref.MessageType.update_Fail.GetDescription();
                }
            }
            return(Json(result));
        }