Ejemplo n.º 1
0
        private void DisplaySplitDialog(TradeRecordModel selectedRecord)
        {
            var dialog = this.CreateDialog <_dialogDailyRecordSplit>();

            dialog.RefreshEvent += new _dialogDailyRecordSplit.RefreshParentForm(RefreshForm);
            dialog.Record        = selectedRecord;
            dialog.Text          = "交易记录拆单";

            dialog.ShowDialog();
        }
Ejemplo n.º 2
0
        public bool Post([FromBody] string file)
        {
            var filePath = Path.Combine(Environment.CurrentDirectory, "Upload", file);

            if (!File.Exists(filePath))
            {
                throw new AppException("File '" + file + "' is not found");
            }

            //read buffer
            var buffer = File.ReadAllBytes(filePath);
            var model  = StructureParser.Deserialize(buffer).AsModel();

            //check unique version
            var ent   = _vRepository.Find(a => a.Version == model.Version);
            var isNew = false;

            //if null
            if (ent == null)
            {
                isNew = true;
                ent   = new HeaderModel
                {
                    Type    = model.Type,
                    Version = model.Version
                };
            }
            else
            {
                //also update
                ent.Type    = model.Type;
                ent.Version = model.Version;
            }

            //migrate exists trader records
            foreach (var record in model.TradeRecords)
            {
                var trader = ent.TradeRecords.FirstOrDefault(a => a.Id == record.Id);

                if (trader == null)
                {
                    trader = new TradeRecordModel
                    {
                        Id      = record.Id,
                        Volumne = record.Volumne,
                        Account = record.Account,
                        Comment = record.Comment
                    };

                    ent.TradeRecords.Add(trader);
                }
                else
                {
                    trader.Volumne = record.Volumne;
                    trader.Account = record.Account;
                    trader.Comment = record.Comment;
                }
            }

            //add
            if (isNew)
            {
                _vRepository.Add(ent);
            }
            else
            {
                //edit
                _vRepository.Edit(ent);
            }

            return(_vRepository.Save() > 0);
        }