Пример #1
0
        public static void DisposeContext()
        {
            // Read current context
            DBERP db = CallContext.GetData(DBContextName) as DBERP;

            // If there's a context
            if (db != null)
            {
                // Dispose it.. freeing any connection and resources used
                db.Dispose();

                // Remove context instance from the thread's bag
                CallContext.SetData(DBContextName, null);
            }
        }
Пример #2
0
        /// <summary>
        /// 取得訂單的發票號碼
        /// </summary>
        /// <param name="orderNo"></param>
        /// <returns></returns>
        public string GetEinvoiceNoByOrderNo(string orderNo)
        {
            string einvoiceNo = string.Empty;
            DBERP  db         = new DBERP();
            var    order      = db.Rinnai_Service_Ledger_Entry.Where(o => o.Service_Order_No_ == orderNo && o.Document_Type == 2).FirstOrDefault();

            if (order == null)
            {
                throw new Exception("[系統]無法取得該訂單相關資料");
            }
            var orderDealis = db.Rinnai_Sales_Invoice_Line.Where(o => o.Document_No_ == order.Document_No_ && o.VAT_Transaction_Number != "").FirstOrDefault();

            if (orderDealis == null)
            {
                throw new Exception("[系統]無法取得該訂單相關資料");
            }
            einvoiceNo = orderDealis.VAT_Transaction_Number;
            return(einvoiceNo);
        }
Пример #3
0
        /// <summary>
        /// 取得其他資訊資訊(包含開立部門) 並依開立部門分類 近來為日期分類,出去為部門分類
        /// </summary>
        /// <param name="data"></param>
        private void GetDeatilsInfo(ref Dictionary <string, List <EinvoiceDataModel> > data)
        {
            DBERP    erpDB      = new DBERP();
            HRISDB   smartmanDB = new HRISDB();
            PORTALDB portalDB   = new PORTALDB();

            foreach (var d in data)
            {
                var model = d.Value;
                foreach (var inv in model)
                {
                    string invNo = inv.Data.MInvoiceNumber;

                    #region 依照發票號碼取出訂單號以及開立單位代碼

                    inv.Detalis = erpDB.Rinnai_Sales_Invoice_Line
                                  .Where(o => o.VAT_Transaction_Number == invNo)
                                  .Select(o => new DetalisInfo()
                    {
                        OrderNo        = o.Shipment_No_,
                        DepartmentCode = o.Shortcut_Dimension_1_Code
                    })
                                  .FirstOrDefault();

                    #endregion 依照發票號碼取出訂單號以及開立單位代碼

                    #region 找出單位主管以及單位名稱

                    if (inv.Detalis != null)
                    {
                        var detalis =
                            smartmanDB.CODEDTL
                            .Where(s => s.TYPECD == "UNIT" &&
                                   s.CODECD == inv.Detalis.DepartmentCode).First();

                        inv.Detalis.DepartmentName = detalis.CODENAME;

                        //var mailObj = portalDB.Employee.Where(o => o.EmployeeID == detalis.Remark).FirstOrDefault();
                        //inv.Detalis.MailToObject = mailObj == null ? "" : mailObj.ADAccount;
                    }
                    else
                    {
                        inv.Detalis = new DetalisInfo()
                        {
                            OrderNo        = "查無資料",
                            DepartmentName = "查無資料",
                            DepartmentCode = "查無資料",
                            MailToObject   = new List <string>()
                            {
                                PublicRepository.AdminEmail
                            }
                        };
                    }

                    #endregion 找出單位主管以及單位名稱
                }

                #region 依照開立單位分類群組

                List <EinvoiceDataModel> preGroup = new List <EinvoiceDataModel>();
                foreach (var da in data)
                {
                    foreach (var item in da.Value)
                    {
                        preGroup.Add(item);
                    }
                }

                Dictionary <string, List <EinvoiceDataModel> > groupDepInv = preGroup
                                                                             .GroupBy(o => o.Detalis.DepartmentCode)
                                                                             .ToDictionary(g => g.Key, g => g.ToList());

                data = groupDepInv;

                #endregion 依照開立單位分類群組
            }
        }