Пример #1
0
        public void RecordEmailTest()
        {
            BaseEmail target = new BaseEmail(); // TODO: Initialize to an appropriate value

            VPDAL.ABInvVPEntities dbContext = new VPDAL.ABInvVPEntities();

            Email mail = new Email()
            {
                InvoiceID = 27115,
                 Content = "Test Email: Insert an Email",
                  DateCreated = DateTime.Now,
                  DateModified = DateTime.Now,
                 IsSend = false,
                  Subject = "Test Email",
                  ToEmailAddresses = new System.Collections.Generic.List<string>(new String[] {"*****@*****.**", "*****@*****.**"})

            };
            int nRet = target.RecordEmail(mail);
            Assert.AreEqual(nRet, 0);
        }
Пример #2
0
        public void CommitTest()
        {
            ModelPODelete m = new ModelPODelete()
            {
                UserID = 1513,
                PONumber = "4500211285",
                POItemNumber = "00010"
            };
            PODelete target = new PODelete(m); // TODO: Initialize to an appropriate value
            //int expected = 0; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.Commit();
            Assert.IsTrue(actual > 0);

            VPDAL.ABInvVPEntities dbContext = new VPDAL.ABInvVPEntities();
            var objs = dbContext.ABi_PO.Top("10");

            //Assert.AreEqual(expected, actual);
            //Assert.Inconclusive("Verify the correctness of this test method.");
        }
Пример #3
0
        public String ToTraceString()
        {
            StringBuilder sb = new StringBuilder();

            String username = "";
            var users = new VPBLL.Users.UsersHelper().getUsersByID(UserID);

            if (users != null && users.Count > 0)
            {
                username = users.First().Username;
            }
            sb.AppendFormat("<td><B>操作用户:</B>{0}</td>", username);
            sb.AppendFormat("<td><B>操作类型:</B>{0}</td>", Trace.TraceHelper.TraceTypeString(TraceType));

            IABiTrace model = TraceHelper.ReadTrace(TraceType, Data);

            VPDAL.ABInvVPEntities dbContext = new VPDAL.ABInvVPEntities();

            if ((TraceType & (int)Trace.eTraceType.eInvoiceBase) > 0)
            {
                int invoiceId = int.Parse(AssetIDs[0]);
                var ivObjs = from iv in dbContext.ABi_Invoice
                            join v in dbContext.ABi_Vendor on iv.ABi_Vendor_ID equals v.ABi_Vendor_ID
                                where iv.ABi_Invoice_ID == invoiceId
                            select new {iv.InvoiceNumber, v.VendorCode};

                if (ivObjs != null && ivObjs.Count() > 0)
                {
                    var iv = ivObjs.First();
                    sb.AppendFormat("<td><B>发票号</B>({0}),<B>供应商代码</B>({1})</td>", iv.InvoiceNumber, iv.VendorCode);
                }
            }
            else if ((TraceType & (int)Trace.eTraceType.ePOBase) > 0)
            {
                int poId = int.Parse(AssetIDs[0]);
                var poObjs = from po in dbContext.ABi_PO
                             where po.ABi_PO_ID == poId
                             select po;

                if (poObjs != null && poObjs.Count() > 0)
                {
                    var po = poObjs.First();
                    sb.AppendFormat("<td><B>凭据:</B>订单号({0}),订单行号({1})</td>", po.PONumber, po.POItemNumber);
                }
            }
            else if ((TraceType & (int)Trace.eTraceType.eGRBase) > 0)
            {
                sb.AppendFormat("<td>");
                foreach (var strGRId in AssetIDs)
                {
                    int grId = int.Parse(strGRId);
                    var grObjs = from gr in dbContext.ABi_GR
                                 join pg in dbContext.ABi_PO_GR on gr.ABi_GR_ID equals pg.ABi_GR_ID
                                 join po in dbContext.ABi_PO on pg.ABi_PO_ID equals po.ABi_PO_ID
                                 where gr.ABi_GR_ID == grId
                                 select new { gr.RefGRNumber, gr.RefGRItemNumber, po.PONumber, po.POItemNumber, gr.GRNumber, gr.GRItemNumber };

                    if (grObjs != null && grObjs.Count() > 0)
                    {
                        var gr = grObjs.First();
                        sb.AppendFormat("<B>收货单号</B>({0}),<B>收货行号</B>({1}),<B>订单号</B>({2}),<B>订单行号</B>({3})<br />", gr.GRNumber, gr.GRItemNumber, gr.PONumber, gr.POItemNumber);
                    }
                }
                sb.AppendFormat("</td>");
            }

            return sb.ToString();
        }
Пример #4
0
        public static IABiTrace ReadTrace(int traceId)
        {
            VPDAL.ABInvVPEntities _dbContext = new VPDAL.ABInvVPEntities();
            var objs = from o in _dbContext.ABi_Trace
                       where o.ABi_Trace_ID == traceId
                       select o;

            if (objs != null && objs.Count() > 0)
            {
                var obj = objs.First();

                return ReadTrace(obj.TraceType, obj.Data);
            }
            else
            {
                return null;
            }
        }
Пример #5
0
        public static List<ABiTrace> SearchTrace(TraceQuery query)
        {
            List<ABiTrace> result = new List<ABiTrace>();
            VPDAL.ABInvVPEntities dbContext = new VPDAL.ABInvVPEntities();
            if ((query.TraceType & eTraceType.eInvoiceBase) > 0)
            {
                bool tag;
                tag = String.IsNullOrEmpty(query.VendorCode);
                var objs = (from o in dbContext.ABi_Invoice
                           join v in dbContext.ABi_Vendor on o.ABi_Vendor_ID equals v.ABi_Vendor_ID
                           where o.InvoiceNumber == query.InvoiceNumber
                            && (tag || v.VendorCode == query.VendorCode)
                            select o).OrderByDescending(o => o.DateModified);

                if (objs != null && objs.Count() > 0)
                {
                    foreach (var obj in objs)
                    {
                        string aId = obj.ABi_Invoice_ID.ToString();
                        var traceInfos = from o in dbContext.ABi_Trace
                                         where o.Asset_IDs == aId
                                         select o;
                        foreach (var ti in traceInfos)
                        {
                            switch ((Trace.eTraceType)ti.TraceType)
                            {
                                case Trace.eTraceType.eInvoiceNew:
                                    result.Add(new ABiTrace {
                                        UserID=(int)ti.UserID,
                                        TraceID=ti.ABi_Trace_ID,
                                        TraceType=ti.TraceType,
                                        Data=ti.Data,
                                        Status=ti.Status,
                                        AssetIDs = ti.Asset_IDs.Split(',').ToList(),
                                        DateCreated=ti.DateCreated,
                                        DateModified=ti.DateModified
                                    });
                                    break;
                            }
                        }
                    }
                }
            }
            else if ((query.TraceType & eTraceType.eGRBase) > 0)
            {
                var grs = from o in dbContext.ABi_GR
                          where ((String.IsNullOrEmpty(query.GRNumber) || o.GRNumber == query.GRNumber) &&
                                 (o.GRItemNumber.Contains(query.GRItemNumber))) ||
                                ((String.IsNullOrEmpty(query.RefGRNumber) || o.RefGRNumber == query.RefGRNumber) &&
                                 (o.RefGRItemNumber.Contains(query.RefGRItemNumber)))
                          select o;

                if (grs != null && grs.Count() > 0)
                {
                    foreach(var gr in grs)
                    {
                        string aId = gr.ABi_GR_ID.ToString();
                        var traceInfos = (from o in dbContext.ABi_Trace
                                            where o.Asset_IDs.Contains(aId)
                                          select o).OrderByDescending(o => o.DateModified);
                        foreach (var ti in traceInfos)
                        {
                            result.Add(new ABiTrace
                            {
                                UserID = (int)ti.UserID,
                                TraceID = ti.ABi_Trace_ID,
                                TraceType = ti.TraceType,
                                Data = ti.Data,
                                Status = ti.Status,
                                AssetIDs = ti.Asset_IDs.Split(',').ToList(),
                                DateCreated = ti.DateCreated,
                                DateModified = ti.DateModified
                            });
                        }
                    }
                }
            }
            else if ((query.TraceType & eTraceType.ePOBase) > 0)
            {
                var pos = from o in dbContext.ABi_PO
                          where o.PONumber == query.PONumber && o.POItemNumber.Contains(query.POItemNumber)
                          select o;

                if (pos != null && pos.Count() > 0)
                {
                    foreach (var po in pos)
                    {
                        string aId = po.ABi_PO_ID.ToString();
                        var traceInfos = (from o in dbContext.ABi_Trace
                                         where o.Asset_IDs.Contains(aId)
                                         select o).OrderByDescending(o => o.DateModified);
                        foreach (var ti in traceInfos)
                        {
                            result.Add(new ABiTrace
                            {
                                UserID = (int)ti.UserID,
                                TraceID = ti.ABi_Trace_ID,
                                TraceType = ti.TraceType,
                                Data = ti.Data,
                                Status = ti.Status,
                                AssetIDs = ti.Asset_IDs.Split(',').ToList(),
                                DateCreated = ti.DateCreated,
                                DateModified = ti.DateModified
                            });
                        }
                    }
                }
            }

            return result;
        }
Пример #6
0
        public void setInvoiceRemarkTest()
        {
            IVHelper target = new IVHelper(); // TODO: Initialize to an appropriate value

            //Insert remark
            ABiRemark remark = new ABiRemark() {
                InvoiceID = 99999999,
                RoleID = 4,
                Remark = "测试用的",
                RemarkPerson = "Unit Test",
                RoleName = "供应商",
                Username = "******",
                DateCreated = DateTime.Now
            }; // TODO: Initialize to an appropriate value

            ABiRemark actual;
            actual = target.setInvoiceRemark(remark);
            Assert.IsNotNull(actual);

            //Update remark
            actual.Remark = "测试更新备注";
            actual.RemarkPerson = "Unit单元测试";
            actual = target.setInvoiceRemark(remark);

            var obj = target.getInvoiceRemarks(99999999);
            Assert.AreEqual(1, obj.Count);
            Assert.AreEqual(obj[0].Username, "sgptp");

            var dbContext = new VPDAL.ABInvVPEntities();
            dbContext.ExecuteStoreCommand(String.Format("delete from ABi_Remark where ABi_Invoice_ID = {0}", 99999999));

            obj = target.getInvoiceRemarks(99999999);
            Assert.IsTrue(obj == null || obj.Count == 0);
        }