Esempio n. 1
0
        public static void SyncPersonalPieceTemplate()
        {
            var rowVersionList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3HR/Rpcs/PersonalPieceRpc/GetRowVersion", SysConfig.Current.AccountingUnit_ID).Select(obj => new Tuple <long, int>(obj.Get <long>("ID"), obj.Get <int>("RowVersion"))).ToList();
            var folder         = Path.Combine(Util.DataFolder, typeof(ClientPersonalPiece).Name);

            BeforeWriteFile(rowVersionList, folder);
            var templateList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3HR/Rpcs/PersonalPieceRpc/GetPersonalPieceTemplate", rowVersionList.Select(x => new long?(x.Item1)).ToArray());

            foreach (var template in templateList)
            {
                var clientBill = new ClientPersonalPiece();
                clientBill.ID              = template.Get <long>("ID");
                clientBill.Name            = template.Get <string>("Name");
                clientBill.Department_ID   = template.Get <long>("Department_ID");
                clientBill.Department_Name = template.Get <string>("Department_Name");
                var rowVersion = template.Get <int>("RowVersion");

                var employeeDetailList = template.Get <IList <RpcObject> >("EmployeeDetails");
                foreach (var detail in employeeDetailList)
                {
                    var employeeDetail = new ClientPersonalPiece_EmployeeDetail();
                    employeeDetail.Employee_ID   = detail.Get <long>("HREmployee_ID");
                    employeeDetail.Employee_Name = detail.Get <string>("HREmployee_Name");
                    employeeDetail.Employee_Code = detail.Get <string>("HREmployee_Code");
                    clientBill.EmployeeDetails.Add(employeeDetail);
                }

                var pieceItemDetailList = template.Get <IList <RpcObject> >("PieceItemDetails");
                foreach (var detail in pieceItemDetailList)
                {
                    var pieceItemDetail = new ClientPersonalPiece_PieceItemDetail();
                    pieceItemDetail.PieceItem_ID   = detail.Get <long>("PieceItem_ID");
                    pieceItemDetail.PieceItem_Name = detail.Get <string>("PieceItem_Name");
                    pieceItemDetail.PieceItem_Code = detail.Get <string>("PieceItem_Code");
                    pieceItemDetail.Job_ID         = detail.Get <long?>("Job_ID");
                    pieceItemDetail.Job_Name       = detail.Get <string>("Job_Name");
                    clientBill.PieceItemDetails.Add(pieceItemDetail);
                }

                XmlSerializer serializer = new XmlSerializer(typeof(ClientPersonalPiece));
                using (var stream = File.Open(Path.Combine(folder, clientBill.ID + ".xml"), FileMode.Create))
                {
                    serializer.Serialize(stream, clientBill);
                }


                using (var stream = File.CreateText(Path.Combine(folder, clientBill.ID + ".ver")))
                {
                    stream.Write(rowVersion);
                }
            }
        }
Esempio n. 2
0
        public PersonalPieceDialog(long departMentID, long template)
        {
            InitializeComponent();
            Util.SetSceen(this);
            personalPiece = new ClientPersonalPieceBillSave
            {
                AccountingUnit_ID = SysConfig.Current.AccountingUnit_ID.Value,
                Department_ID     = departMentID,
                Domain_ID         = SysConfig.Current.Domain_ID,
                User_ID           = SysConfig.Current.User_ID,
                CreateTime        = DateTime.Now
            };
            pieceItemJobPair = new Dictionary <long, Tuple <long?, string> >();

            comboBoxEmployee.Items.Add("");
            comboBoxPieceItem.Items.Add("");

            string file = Path.Combine(Path.Combine(Util.DataFolder, typeof(ClientPersonalPiece).Name), template.ToString() + ".xml");

            XmlSerializer serializer = new XmlSerializer(typeof(ClientPersonalPiece));

            using (var stream = File.Open(file, FileMode.Open))
            {
                personalPieceTemplate = serializer.Deserialize(stream) as ClientPersonalPiece;
            }
            foreach (var empDetail in personalPieceTemplate.EmployeeDetails)
            {
                if (empDetail.Employee_ID != 0)
                {
                    comboBoxEmployee.Items.Add(new Option(empDetail.Employee_Name + "(" + empDetail.Employee_Code + ")", empDetail.Employee_ID));
                }
            }
            foreach (var pieceItemDetail in personalPieceTemplate.PieceItemDetails)
            {
                if (pieceItemDetail.PieceItem_ID != 0)
                {
                    comboBoxPieceItem.Items.Add(new Option(pieceItemDetail.PieceItem_Name, pieceItemDetail.PieceItem_ID));
                }
                if (!pieceItemJobPair.ContainsKey(pieceItemDetail.PieceItem_ID))
                {
                    pieceItemJobPair.Add(pieceItemDetail.PieceItem_ID, new Tuple <long?, string>(pieceItemDetail.Job_ID, pieceItemDetail.Job_Name));
                }
            }

            comboBoxEmployee.Focus();
            HardwareUtil.Device.ScannerReader += new EventHandler <ScanEventArgs>(Device_ScannerReaders);
        }