コード例 #1
0
        public static long ProductInStoreSaveAndCheck(ClientProduceOutputBillSave dmo)
        {
            try
            {
                #region 产出单
                var mainObj   = "/MainSystem/B3Butchery/BO/ProductInStore";
                var detailObj = "/MainSystem/B3Butchery/BO/ProductInStore_Detail";

                var obj = new RpcObject(mainObj);
                obj.Set("ID", dmo.ID);
                ManyList Details = new ManyList(detailObj);

                foreach (var detail in dmo.Details)
                {
                    var objDetail = new RpcObject(detailObj);
                    objDetail.Set("ProductInStore_ID", detail.Bill_ID);
                    objDetail.Set("ID", detail.ID);
                    objDetail.Set("Goods_ID", detail.Goods_ID);
                    objDetail.Set("Number", detail.Goods_Number);
                    Details.Add(objDetail);
                }
                obj.Set("Details", Details);
                var id = RpcFacade.Call <long>("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/ProductInStoreSaveAndCheck", obj);
                return(id);

                #endregion
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex.ToString());
                return(-2);
            }
        }
コード例 #2
0
        public static void SyncProductInStore()
        {
            try
            {
                #region 成品出库
                string productInStoreFoder = Path.Combine(Util.DataFolder, typeof(ClientProductInStore).Name);
                ClientProductInStore productInStore;
                if (!Directory.Exists(productInStoreFoder))
                {
                    Directory.CreateDirectory(productInStoreFoder);
                }
                string[] productInStoreFiles = Directory.GetFiles(productInStoreFoder, "*.xml");
                if (productInStoreFiles.Count() != 0 && Util.OnceLogined)
                {
                    foreach (var file in productInStoreFiles)
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(ClientProductInStore));
                        using (var stream = File.Open(file, FileMode.Open))
                        {
                            productInStore = serializer.Deserialize(stream) as ClientProductInStore;

                            if (productInStore.IsSend)
                            {
                                continue;
                            }
                            var mainObj   = "/MainSystem/B3Butchery/BO/ProductInStore";
                            var detailObj = "/MainSystem/B3Butchery/BO/ProductInStore_Detail";

                            var obj = new RpcObject(mainObj);
                            //obj.Set("Department_ID", productInStore.Department_ID);
                            //obj.Set("CreateTime", productInStore.CreateTime);
                            //obj.Set("Domain_ID", productInStore.Domain_ID);
                            //obj.Set("CreateUser_ID", productInStore.User_ID);
                            //obj.Set("PlanNumber_ID", productPlanGroupBy.Key);
                            //obj.Set("ProductLinks_ID", productLink.ProductLinks_ID);
                            ManyList Details = new ManyList(detailObj);

                            foreach (var detail in productInStore.GoodsDetails)
                            {
                                var objDetail = new RpcObject(detailObj);
                                objDetail.Set("Goods_ID", detail.Goods_ID);
                                objDetail.Set("Number", detail.Goods_Number);
                                Details.Add(objDetail);
                            }
                            obj.Set("Details", Details);

                            RpcFacade.Call <long>("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/InsertProductInStore", obj);
                        }

                        productInStore.IsSend = true;
                        using (var stream = File.Create(file))
                        {
                            serializer.Serialize(stream, productInStore);
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex.ToString());
            }
        }
コード例 #3
0
 public void testManyList(ManyList req)
 {
 }