예제 #1
0
        public override void Send(IObjectSpace os, crmCParty comp)
        {
            crmCParty party  = ((crmIParty)comp).Party;
            XWVOXMIA  msg_in = new XWVOXMIA();
            XWVOXMOA  msg_out;

            if (String.IsNullOrEmpty(party.Code))
            {
                msg_in.CMD = "INSERT";
            }
            else
            {
                msg_in.CMD    = "UPDATE";
                msg_in.VOCODE = Decimal.Parse(party.Code == null ? String.Empty : party.Code);
            }
            msg_in.OGCODE        = 1000;
            msg_in.UUID          = party.Oid.ToString();
            msg_in.VOADDR        = party.AddressFact.ToString();
            msg_in.VOCOUNTRYCODE = party.AddressFact.Country.CodeAlfa3;
            msg_in.VOINN         = party.INN;
            msg_in.VOKPP         = party.KPP;
            msg_in.VONAME        = party.Name;
            msg_in.VONAMEFULL    = party.NameFull;
            msg_in.VOTYPE        = party.ComponentType.FullName;
            msg_in.VOUPUSER      = "******";
            msg_in.VOISCLOSED    = party.IsClosed;
            msg_out = SyncService.XWVOXM0N(msg_in);
            if (String.IsNullOrEmpty(party.Code))
            {
                party.Code = msg_out.VOCODE.ToString();
            }
        }
예제 #2
0
 protected XWVOXMIA NewPrmFill(String cmd, String suffix) {
     XWVOXMIA prm = new XWVOXMIA();
     prm.CMD = cmd;
     prm.OGCODE = ogcode;
     prm.VONAME = "Имя" + suffix;
     prm.VONAMEFULL = "ИмяПолное" + suffix;
     prm.VOADDR = "Адрес" + suffix;
     prm.VOINN = "ИНН" + suffix;
     prm.VOKPP = "КПП" + suffix;
     return prm;
 }
예제 #3
0
 public void InsertTest() {
     decimal vocode1;
     decimal vocode2;
     XWVOXMIA prm;
     XWVOXMOA res;
     //
     prm = NewPrmFill("INSERT", "1");
     res = SyncService.XWVOXM0N(prm);
     vocode1 = res.VOCODE;
     //
     prm = NewPrmFill("INSERT", "2");
     res = SyncService.XWVOXM0N(prm);
     vocode2 = res.VOCODE;
     //
     prm = new XWVOXMIA();
     prm.OGCODE = ogcode;
     prm.VOCODE = vocode1;
     prm.CMD = "GET";
     res = SyncService.XWVOXM0N(prm);
     Assert.AreEqual("Имя1", res.VONAME);
     Assert.AreEqual("ИмяПолное1", res.VONAMEFULL);
     Assert.AreEqual("Адрес1", res.VOADDR);
     Assert.AreEqual("ИНН1", res.VOINN);
     Assert.AreEqual("КПП1", res.VOKPP);
     //
     prm = new XWVOXMIA();
     prm.OGCODE = ogcode;
     prm.VOCODE = vocode2;
     prm.CMD = "GET";
     res = SyncService.XWVOXM0N(prm);
     Assert.AreEqual("Имя2", res.VONAME);
     Assert.AreEqual("ИмяПолное2", res.VONAMEFULL);
     Assert.AreEqual("Адрес2", res.VOADDR);
     Assert.AreEqual("ИНН2", res.VOINN);
     Assert.AreEqual("КПП2", res.VOKPP);
     //
 }
예제 #4
0
        private void SyncParty(crmIParty party)
        {
            XWVOXMIA msg_in = new XWVOXMIA();
            XWVOXMOA msg_out;

            if (String.IsNullOrEmpty(party.Code))
            {
                msg_in.CMD = "INSERT";
            }
            else
            {
                msg_in.CMD    = "UPDATE";
                msg_in.VOCODE = Decimal.Parse(party.Code == null ? String.Empty : party.Code);
            }
            msg_in.OGCODE = 1000;

            msg_in.VOADDR        = party.AddressFact.ToString();
            msg_in.VOCOUNTRYCODE = party.AddressFact.Country.CodeAlfa3;
            msg_in.VOINN         = party.INN;
            msg_in.VOKPP         = party.KPP;
            msg_in.VONAME        = party.Name;
            msg_in.VONAMEFULL    = party.NameFull;
            msg_in.VOTYPE        = party.ComponentType.FullName;
            msg_in.VOUPUSER      = "******";
            msg_in.VOISCLOSED    = party.IsClosed;
            try {
                msg_out = syncservice.XWVOXM0N(msg_in);
                if (String.IsNullOrEmpty(party.Code))
                {
                    party.Code = msg_out.VOCODE.ToString();
                }
            }
            catch (Exception e) {
                Tracing.Tracer.LogError(e);
            }
        }
예제 #5
0
        public void UpdateTest() {
            decimal vocode1;
            decimal vocode2;
            XWVOXMIA prm;
            XWVOXMOA res;
            //
            prm = NewPrmFill("INSERT", "1");
            res = SyncService.XWVOXM0N(prm);
            vocode1 = res.VOCODE;
            //
            prm = NewPrmFill("INSERT", "2");
            res = SyncService.XWVOXM0N(prm);
            vocode2 = res.VOCODE;
            //
            prm = NewPrmFill("UPDATE", "11");
            prm.VOCODE = vocode1;
            res = SyncService.XWVOXM0N(prm);
            //
            prm = NewPrmFill("UPDATE", "22");
            prm.VOCODE = vocode2;
            res = SyncService.XWVOXM0N(prm);
            //
            prm = new XWVOXMIA();
            prm.OGCODE = ogcode;
            prm.VOCODE = vocode1;
            prm.CMD = "GET";
            res = SyncService.XWVOXM0N(prm);
            Assert.AreEqual(res.VONAME, "Имя11");
            Assert.AreEqual(res.VONAMEFULL, "ИмяПолное11");
            Assert.AreEqual(res.VOADDR, "Адрес11");
            Assert.AreEqual(res.VOINN, "ИНН11");
            Assert.AreEqual(res.VOKPP, "КПП11");
            //
            prm = new XWVOXMIA();
            prm.OGCODE = ogcode;
            prm.VOCODE = vocode2;
            prm.CMD = "GET";
            res = SyncService.XWVOXM0N(prm);
            Assert.AreEqual(res.VONAME, "Имя22");
            Assert.AreEqual(res.VONAMEFULL, "ИмяПолное22");
            Assert.AreEqual(res.VOADDR, "Адрес22");
            Assert.AreEqual(res.VOINN, "ИНН22");
            Assert.AreEqual(res.VOKPP, "КПП22");
            //
            prm = NewPrmFill("UPDATE", "22");
            prm.VOCODE = vocode2;
            prm.VOISCLOSED = true;
            res = SyncService.XWVOXM0N(prm);
            prm = new XWVOXMIA();
            prm.OGCODE = ogcode;
            prm.VOCODE = vocode2;
            prm.CMD = "GET";
            res = SyncService.XWVOXM0N(prm);
            Assert.AreEqual(res.VONAME, "*Имя22");
            Assert.AreEqual(res.VONAMEFULL, "ИмяПолное22");
            Assert.AreEqual(res.VOADDR, "Адрес22");
            Assert.AreEqual(res.VOINN, "*ИНН22");
            Assert.AreEqual(res.VOKPP, "КПП22");

            //
        }