Beispiel #1
0
//        private HTTPSyncService _SyncService;
//        private XWTBXCOA _StaffList;

        private void SyncAllAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            HTTPSyncService _SyncService = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);
            XWTBXCIA        lprm         = new XWTBXCIA();

            lprm.CMD = "CATALOG";
            XWTBXCOA      _StaffList     = _SyncService.XWTBXC0N(lprm);
            LongOperation long_operation = new StaffSyncLongOperation(StaffListSyncProcess, _SyncService, _StaffList);

            StartLongOperation(long_operation);
        }
Beispiel #2
0
        private void SyncChangesAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            HTTPSyncService _SyncService = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);
            XWTBXCIA        lprm         = new XWTBXCIA();

            lprm.CMD         = "CHANGES";
            lprm.DPGROUPCODE = 2;
            lprm.UPDTSTART   = new DateTime(2011, 01, 01);
            lprm.UPDTSTOP    = new DateTime(2011, 01, 31);
            XWTBXCOA      _StaffList     = _SyncService.XWTBXC0N(lprm);
            LongOperation long_operation = new StaffSyncLongOperation(StaffListSyncProcess, _SyncService, _StaffList);

            StartLongOperation(long_operation);
        }
Beispiel #3
0
        protected override void OnActivated()
        {
            base.OnActivated();
            ObjectView oview = View as ObjectView;

            party = oview.CurrentObject as crmIParty;
            PartySyncAction.Active.SetItemValue("Is_crmIParty", false);
            if (party == null)
            {
                return;
            }
            PartySyncAction.Active.SetItemValue("Is_crmIParty", true);
            ObjectSpace.Committing += new EventHandler <CancelEventArgs>(ObjectSpace_Committing);
            ObjectSpace.Committed  += new EventHandler(ObjectSpace_Committed);
            PartySyncAction.Active.SetItemValue("ObjectSpaceChanged", ObjectSpace.IsModified);
            ObjectSpace.ModifiedChanged += new EventHandler(ObjectSpace_ModifiedChanged);
            syncservice = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);
        }
Beispiel #4
0
        public override void Setup(XafApplication application)
        {
            base.Setup(application);
            ERMSyncModule sync_module = application.Modules.FindModule <ERMSyncModule>();

            if (sync_module == null)
            {
                return;
            }
            HTTPSyncService sync_service = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);

            sync_module.SyncPushManager.Register(new SyncIBSCSyncPushCrmParty(sync_service));
            sync_module.SyncPushManager.Register(new SyncIBSCSyncPushFmOrder(sync_service));

            SecurityStrategy.SecuredNonPersistentTypes.Add(typeof(GCR.Codif.gcrCodifDeal));

            CustomCollectionSourceManager.Register(typeof(GCR.Codif.gcrCodifDeal));
        }
        //public struct OrderShort {
        //    public String UserOrgCode;
        //    public String Code;
        //    public String SubjectCode;
        //    public Boolean IsClosed;
        //    public DateTime DateOpen;
        //    public DateTime DateClose;
        //}

        //public static IList<OrderShort> Catalog(IObjectSpace os) {
        //    IIBSSyncService syncservice = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);
        //    XWZKXCIA lprm = new XWZKXCIA();
        //    lprm.CMD = "CATALOG";
        //    lprm.OGCODE = 1000;
        //    XWZKXCOA lres = syncservice.XWZKXC0N(lprm);
        //    List<OrderShort> result = new List<OrderShort>(lres.ZKLIST.Count);
        //    foreach (XWZKXCOAZKLIST item in lres.ZKLIST) {
        //        OrderShort ritem = new OrderShort();
        //        ritem.UserOrgCode = "1000";
        //        ritem.Code = item.ZKCODE;
        //        ritem.IsClosed = item.ZKISCLOSED;
        //        ritem.SubjectCode = item.ZKSUBJECTCODE;
        //        DateTime.TryParseExact(item.ZKDTOPEN, "yy-MM-dd", null, default(System.Globalization.DateTimeStyles), out ritem.DateOpen);
        //        DateTime.TryParseExact(item.ZKDTCLOSE, "yy-MM-dd", null, default(System.Globalization.DateTimeStyles), out ritem.DateClose);
        //        result.Add(ritem);
        //    }

        //    return result;
        //}
        public static XWZKXCOA Catalog(IObjectSpace os)
        {
            IIBSSyncService syncservice = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);
            XWZKXCIA        lprm        = new XWZKXCIA();

            lprm.CMD    = "CATALOG";
            lprm.OGCODE = 1000;
            XWZKXCOA lres = syncservice.XWZKXC0N(lprm);

            //List<OrderShort> result = new List<OrderShort>(lres.ZKLIST.Count);
            //foreach (XWZKXCOAZKLIST item in lres.ZKLIST) {
            //    OrderShort ritem = new OrderShort();
            //    ritem.UserOrgCode = "1000";
            //    ritem.Code = item.ZKCODE;
            //    ritem.IsClosed = item.ZKISCLOSED;
            //    ritem.SubjectCode = item.ZKSUBJECTCODE;
            //    DateTime.TryParseExact(item.ZKDTOPEN, "yy-MM-dd", null, default(System.Globalization.DateTimeStyles), out ritem.DateOpen);
            //    DateTime.TryParseExact(item.ZKDTCLOSE, "yy-MM-dd", null, default(System.Globalization.DateTimeStyles), out ritem.DateClose);
            //    result.Add(ritem);
            //}

            return(lres);
        }
Beispiel #6
0
        protected void DoWorkCore(LongOperation longOperation)
        {
            //Random random = new Random();
            IObjectSpace os = Application.CreateObjectSpace();
            //            IList<FullyAuditedBatchCreationObject> collection = updatingObjectSpace.GetObjects<FullyAuditedBatchCreationObject>();
            int index = 0;

            try {
                HTTPSyncService syncservice = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);
                XWDPXLIA        msg_in      = new XWDPXLIA();
                msg_in.CMD = "LIST";
                XWDPXLOA msg_out = syncservice.XWDPXL0N(msg_in);
                foreach (XWDPXLOADPLIST dps in msg_out.DPLIST)
                {
                    hrmDepartment         dp;
                    IList <hrmDepartment> dpl = os.GetObjects <hrmDepartment>(new BinaryOperator("BuhCode", dps.DPBUHCODE.ToString(), BinaryOperatorType.Equal));
                    if (dpl.Count > 0)
                    {
                        dp = dpl[0];
                    }
                    else
                    {
                        dp = os.CreateObject <hrmDepartment>();
                    }
                    if (dp.Code != dps.DPCODE)
                    {
                        dp.Code = dps.DPCODE;
                    }
                    if (dp.BuhCode != dps.DPBUHCODE.ToString())
                    {
                        dp.BuhCode = dps.DPBUHCODE.ToString();
                    }
                    if (dp.Name != dps.DPNAME)
                    {
                        dp.Name = dps.DPNAME;
                    }
                    if (dp.IsClosed != dps.DPISCLOSED)
                    {
                        dp.IsClosed = dps.DPISCLOSED;
                    }
                    os.CommitChanges();
                    //
                    if (longOperation.Status == LongOperationStatus.InProgress)
                    {
                        longOperation.RaiseProgressChanged((int)((++index * 100) / msg_out.DPLIST.Count), "Update Departnent " + index.ToString() + " from " + msg_out.DPLIST.Count.ToString());
//                        longOperation.RaiseProgressChanged((int)((++index * 100) / dpl.Count), "Update Departnent " + index.ToString() + " from " + msg_out.DPLIST.Count.ToString());
                    }
                    if (longOperation.Status == LongOperationStatus.Cancelling)
                    {
                        return;
                    }
                }
            }
            catch (LongOperationTerminateException) {
                os.Rollback();
                longOperation.CancelAsync();
            }
            catch (Exception e) {
                longOperation.TerminateAsync();
                throw e;
            }
            //os.Rollback();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="os"></param>
        /// <param name="doc"></param>
        static public void ExportTo(IObjectSpace os, fmCFJSaleDoc doc)
        {
            foreach (fmCFJSaleDocLine line in doc.DocLines)
            {
                using (IObjectSpace nos = os.CreateNestedObjectSpace()) {
                    fmCFJSaleDocLine curline = os.GetObject <fmCFJSaleDocLine>(line);
                    if (curline.IsSyncIBS)
                    {
                        continue;
                    }
                    if (!curline.IsApproved)
                    {
                        continue;
                    }
                    if (curline.SaleJurnalLine == null)
                    {
                        continue;
                    }
                    curline.SaleJurnalLine.SyncIBS();
                    //            User currentUser = null;
                    IIBSSyncService syncservice = new HTTPSyncService(ConfigurationManager.AppSettings["IBS.SyncService"]);

                    FWSJXMIA msg_in = new FWSJXMIA();
                    msg_in.CMD       = "UPDATE";
                    msg_in.OPERATION = curline.SaleOperation.Code;
                    msg_in.SJOID     = curline.SaleJurnalLine.Oid.ToString();
                    ////
                    Decimal code;
                    if (!Decimal.TryParse(curline.PartyCode, out code))
                    {
                        return;
                    }
                    msg_in.VOCODE   = code;
                    msg_in.ZKCODE   = curline.OrderNumber;
                    msg_in.SFNUMBER = curline.AVTInvoiceNumber;
                    msg_in.SFDATE   = curline.AVTInvoiceDate;
                    msg_in.DGNUMBER = curline.DealNumber;
                    msg_in.DGDATE   = curline.DealDate;
                    msg_in.FINUMBER = curline.DocBaseNumber;
                    msg_in.FIDATE   = curline.DocBaseDate;
                    //// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    if (curline.SaleOperation.IsNotAVTInvoice)
                    {
                        msg_in.PLNUMBER = "СФЗ" + curline.PayNumber;
                    }
                    else
                    {
                        msg_in.PLNUMBER = "СЧФ";
                    }

                    ////
                    msg_in.SUMMCOST = curline.SummCost;
                    msg_in.AVTRATE  = curline.AVTRate.Code;
                    msg_in.SUMMAVT  = curline.SummAVT;
                    msg_in.SUMMALL  = curline.SummAll;
                    if (curline.Valuta == null)
                    {
                        msg_in.VACODE = "";
                    }
                    else
                    {
                        msg_in.VACODE = curline.Valuta.Code;
                    }

                    msg_in.SUMMVALALL = curline.SummValuta;
                    ////
                    msg_in.UOGCODE       = 1000;
                    msg_in.PERIOD        = curline.SaleDoc.Period;
                    msg_in.DOCPROV       = curline.DocBuhProv;
                    msg_in.DOCPCK        = curline.DocBuhPck;
                    msg_in.DOCNUMBER     = curline.DocBuhNumber;
                    msg_in.DOCDATE       = curline.DocBuhDate;
                    msg_in.ACCSALEDEBET  = curline.AccRealDebet.ToString();
                    msg_in.ACCSALECREDIT = curline.AccRealCredit.ToString();
                    msg_in.ACCAVTDEBET   = curline.AccAVTDebet.ToString();
                    msg_in.ACCAVTCREDIT  = curline.AccAVTCredit.ToString();
                    //// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    msg_in.CNTUSER = SecuritySystem.CurrentUserName;
                    ////
                    FWSJXMOA msg_out = syncservice.FWSJXM0N(msg_in);
                    curline.IsSyncIBS = true;
                    //
                    nos.CommitChanges();
                }
                os.CommitChanges();
            }
        }