public StockTemplate GetTemplate(int templateId) { StockTemplate targetTemplate = null; int loginUserId = LoginManager.Instance.GetUserId(); if (_permissionManager.HasPermission(loginUserId, templateId, ResourceType.SpotTemplate, PermissionMask.View)) { var template = _tempdbdao.Get(templateId); if (template != null && template.TemplateId == templateId) { targetTemplate = ConvertToUIItem(template); } else { targetTemplate = new StockTemplate(); } } else { targetTemplate = new StockTemplate(); } Model.UsageTracking.ActionStatus actionStatus = Model.UsageTracking.ActionStatus.Normal; if (targetTemplate.TemplateId == templateId) { actionStatus = Model.UsageTracking.ActionStatus.Success; } _userActionTrackingBLL.Create(loginUserId, Model.UsageTracking.ActionType.Get, ResourceType.SpotTemplate, templateId, 1, actionStatus, JsonUtil.SerializeObject(targetTemplate)); return(targetTemplate); }
private void ToolStripButton_ModifyTemplate_Click(object sender, System.EventArgs e) { StockTemplate stockTemplate = GetSelectTemplate(); if (stockTemplate == null) { return; } TemplateDialog dialog = new TemplateDialog(); dialog.SaveData += new FormLoadHandler(Dialog_ModifyTemplate); dialog.Owner = this; dialog.StartPosition = FormStartPosition.CenterParent; dialog.OnLoadControl(dialog, null); dialog.OnLoadData(dialog, stockTemplate); dialog.ShowDialog(); if (dialog.DialogResult == System.Windows.Forms.DialogResult.OK) { MessageDialog.Info(this, msgModifySuccess); dialog.Dispose(); } else { dialog.Close(); dialog.Dispose(); } }
private void ToolStripButton_CopyTemplate_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } string templateName = string.Format("copy_{0}", template.TemplateName); StockTemplate temp = new StockTemplate { TemplateName = templateName, FutureCopies = template.FutureCopies, MarketCapOpt = template.MarketCapOpt, EReplaceType = template.EReplaceType, EWeightType = template.EWeightType, Benchmark = template.Benchmark, CreatedUserId = template.CreatedUserId, EStatus = template.EStatus, DCreatedDate = DateTime.Now, CanEditUsers = template.CanEditUsers, CanViewUsers = template.CanViewUsers, Permissions = template.Permissions, }; StockTemplate newtemp = _templateBLL.CreateTemplate(temp); if (newtemp.TemplateId > 0) { _tempDataSource.Add(newtemp); } this.tempGridView.Invalidate(); }
private void ToolStripButton_Save_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } if (_spotDataSource.Count <= 0) { return; } int ret = _templateBLL.Replace(template.TemplateId, _spotDataSource.ToList()); if (ret > 0) { SwitchTemplateStockSave(false); //更新时间 template.DModifiedDate = DateTime.Now; this.tempGridView.Invalidate(); } }
public StockTemplate CreateTemplate(StockTemplate template) { var dbItem = ConvertToDBItem(template); int templateId = _tempdbdao.Create(dbItem); if (templateId > 0) { template.TemplateId = templateId; int userId = LoginManager.Instance.GetUserId(); //Add the usage tracking information _userActionTrackingBLL.Create(userId, Model.UsageTracking.ActionType.Create, ResourceType.SpotTemplate, templateId, 1, Model.UsageTracking.ActionStatus.Success, JsonUtil.SerializeObject(template)); var perms = _permissionManager.GetOwnerPermission(); _permissionManager.GrantPermission(userId, templateId, ResourceType.SpotTemplate, perms); foreach (var perm in template.Permissions) { if (perm.Token != userId) { bool isUpdated = (perm.Id > 0) ? true : false; _permissionManager.ChangePermission(perm.Token, template.TemplateId, ResourceType.SpotTemplate, perm.Permission, isUpdated); } } } return(template); }
public int UpdateTemplate(StockTemplate template) { int userId = LoginManager.Instance.GetUserId(); if (_permissionManager.HasPermission(userId, template.TemplateId, ResourceType.SpotTemplate, PermissionMask.Edit)) { var dbItem = ConvertToDBItem(template); int tempId = _tempdbdao.Update(dbItem); if (tempId > 0) { //add the usage tracking _userActionTrackingBLL.Create(userId, Model.UsageTracking.ActionType.Edit, ResourceType.SpotTemplate, template.TemplateId, 1, Model.UsageTracking.ActionStatus.Success, JsonUtil.SerializeObject(template)); //update the permission foreach (var perm in template.Permissions) { bool isUpdated = (perm.Id > 0) ? true : false; _permissionManager.ChangePermission(perm.Token, template.TemplateId, ResourceType.SpotTemplate, perm.Permission, isUpdated); } return(tempId); } else { return(-1); } } else { return(-1); } }
private StockTemplate SaveTemplateToDB(StockTemplate stockTemplate, TempChangeType type) { switch (type) { case TempChangeType.New: { var template = _templateBLL.CreateTemplate(stockTemplate); stockTemplate.TemplateId = template.TemplateId; } break; case TempChangeType.Update: { int tempid = _templateBLL.UpdateTemplate(stockTemplate); if (tempid > 0) { stockTemplate.TemplateId = tempid; } else { MessageDialog.Error(this, msgModifyFail); } } break; default: break; } return(stockTemplate); }
public int ArchiveTemplate(StockTemplate template) { ArchiveStockTemplate hst = new ArchiveStockTemplate(template); hst.DArchiveDate = DateTime.Now; int archiveId = -1; var stocks = _stockdbdao.Get(template.TemplateId); if (stocks != null) { archiveId = _templatedao.Archive(hst, stocks); if (archiveId > 0) { //add permission foreach (var perm in hst.Permissions) { _permissionManager.ChangePermission(perm.Token, archiveId, Model.Permission.ResourceType.HistoricalSpotTemplate, perm.Permission, false); } } else { archiveId = -1; } } return(archiveId); }
private void ToolStripButton_DeleteTemplate_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } //archive before deleting ArchiveTemplate(template); //delete int ret = _templateBLL.DeleteTemplate(template); if (ret == 1) { _tempDataSource.Remove(template); tempGridView.Invalidate(); MessageDialog.Info(this, msgDeleteTempSuccess); } else { MessageDialog.Warn(this, msgDeleteTemp); } }
private bool Dialog_ModifyTemplate(object sender, object data) { if (!(data is StockTemplate)) { return(false); } StockTemplate stockTemplate = data as StockTemplate; stockTemplate = SaveTemplateToDB(stockTemplate, TempChangeType.Update); //update the row in the view if (stockTemplate.TemplateId > 0) { int targetIndex = _tempDataSource.ToList().FindIndex(p => p.TemplateId == stockTemplate.TemplateId); if (targetIndex >= 0 && targetIndex < _tempDataSource.Count) { //archive the old template ArchiveTemplate(_tempDataSource[targetIndex]); _tempDataSource[targetIndex] = stockTemplate; } } return(true); }
private void ToolStripButton_DeleteStock_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } var deleteItems = _spotDataSource.Where(p => p.Selection).ToList(); //List<int> selectIndex = TSDataGridViewHelper.GetSelectRowIndex(this.secuGridView); if (deleteItems == null || deleteItems.Count == 0) { MessageDialog.Warn(this, msgDeleteSecuritySelect); return; } string format = ConfigManager.Instance.GetLabelConfig().GetLabelText(msgDeleteSecurity); string msg = string.Format(format, template.TemplateId, template.TemplateName, deleteItems.Count); if (MessageDialog.Warn(this, msg, MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No) { return; } //List<TemplateStock> deleteItems = new List<TemplateStock>(); //for (int i = 0, count = selectIndex.Count; i < count; i++) //{ // int rowIndex = selectIndex[i]; // if (rowIndex >= 0 && rowIndex < _spotDataSource.Count) // { // deleteItems.Add(_spotDataSource[rowIndex]); // } //} //archive template ArchiveTemplate(template); foreach (var deleteItem in deleteItems) { _spotDataSource.Remove(deleteItem); } //int success = _templateBLL.DeleteStock(deleteItems); //if (success > 0) //{ // MessageDialog.Info(this, msgSecurityDeleteSuccess); //} //else //{ // MessageDialog.Info(this, msgSecurityDeleteFail); //} SwitchTemplateStockSave(true); }
private void ToolStripButton_ModifyTemplate_Click(object sender, System.EventArgs e) { StockTemplate stockTemplate = GetSelectTemplate(); if (stockTemplate == null) { return; } ModifyTemplate(stockTemplate); }
private void GridView_Template_MouseDoubleClick(object sender, int rowIndex, int columnIndex) { //检查点击事件是否触发在有效的表各项中 if (rowIndex < 0 || rowIndex >= _tempDataSource.Count) { return; } StockTemplate template = _tempDataSource[rowIndex]; ModifyTemplate(template); }
private void FillData(StockTemplate stockTemplate) { this.tbTemplateNo.Text = stockTemplate.TemplateId.ToString(); this.tbTemplateNo.Enabled = false; this.tbTemplateName.Text = stockTemplate.TemplateName; this.tbFutureCopies.Text = stockTemplate.FutureCopies.ToString(); this.tbMarketCapOpt.Text = stockTemplate.MarketCapOpt.ToString(); ComboBoxUtil.SetComboBoxSelect(this.cbBenchmark, stockTemplate.Benchmark); ComboBoxUtil.SetComboBoxSelect(this.cbWeightType, stockTemplate.EWeightType.ToString()); ComboBoxUtil.SetComboBoxSelect(this.cbReplaceType, stockTemplate.EReplaceType.ToString()); }
private void GrantPermission(int userId, int templateId, StockTemplate template) { var perms = _permissionManager.GetOwnerPermission(); _permissionManager.GrantPermission(userId, templateId, ResourceType.SpotTemplate, perms); foreach (var perm in template.Permissions) { if (perm.Token != userId) { bool isUpdated = (perm.Id > 0) ? true : false; _permissionManager.ChangePermission(perm.Token, template.TemplateId, ResourceType.SpotTemplate, perm.Permission, isUpdated); } } }
public int Copy(int oldTemplateId, StockTemplate template) { var dbItem = ConvertToDBItem(template); int templateId = _templatedao.Copy(oldTemplateId, dbItem); if (templateId > 0) { template.TemplateId = templateId; int userId = LoginManager.Instance.GetUserId(); _userActionTrackingBLL.Create(userId, Model.UsageTracking.ActionType.Edit, ResourceType.SpotTemplate, templateId, template.TemplateId, Model.UsageTracking.ActionStatus.Normal, "Copy template stock"); GrantPermission(userId, templateId, template); } return(templateId); }
private bool Dialog_NewTemplate(object sender, object data) { if (data is StockTemplate) { StockTemplate stockTemplate = data as StockTemplate; stockTemplate = SaveTemplateToDB(stockTemplate, TempChangeType.New); //add into the view if (stockTemplate.TemplateId > 0) { _tempDataSource.Add(stockTemplate); } } return(true); }
private List <SecurityItem> GetSecurityItems(StockTemplate template) { List <SecurityItem> secuList = new List <SecurityItem>(); var benchmarkItem = SecurityInfoManager.Instance.Get(template.Benchmark, SecurityType.Index); if (benchmarkItem != null) { secuList.Add(benchmarkItem); } foreach (var stock in _spotDataSource) { var secuItem = SecurityInfoManager.Instance.Get(stock.SecuCode, SecurityType.Stock); secuList.Add(secuItem); } return(secuList); }
public StockTemplate CreateTemplate(StockTemplate template) { var dbItem = ConvertToDBItem(template); int templateId = _tempdbdao.Create(dbItem); if (templateId > 0) { template.TemplateId = templateId; template.DCreatedDate = DateTime.Now; int userId = LoginManager.Instance.GetUserId(); //Add the usage tracking information _userActionTrackingBLL.Create(userId, Model.UsageTracking.ActionType.Create, ResourceType.SpotTemplate, templateId, 1, Model.UsageTracking.ActionStatus.Success, JsonUtil.SerializeObject(template)); GrantPermission(userId, templateId, template); } return(template); }
private StockTemplate ConvertToUIItem(TemplateItem dbItem) { var uiItem = new StockTemplate { TemplateId = dbItem.TemplateId, TemplateName = dbItem.TemplateName, EStatus = dbItem.EStatus, EWeightType = dbItem.EWeightType, EReplaceType = dbItem.EReplaceType, FutureCopies = dbItem.FutureCopies, MarketCapOpt = dbItem.MarketCapOpt, Benchmark = dbItem.Benchmark, DCreatedDate = dbItem.DCreatedDate, DModifiedDate = dbItem.DModifiedDate, CreatedUserId = dbItem.CreatedUserId, }; return(uiItem); }
private TemplateItem ConvertToDBItem(StockTemplate uiItem) { var dbItem = new TemplateItem { TemplateId = uiItem.TemplateId, TemplateName = uiItem.TemplateName, EStatus = uiItem.EStatus, EWeightType = uiItem.EWeightType, EReplaceType = uiItem.EReplaceType, FutureCopies = uiItem.FutureCopies, MarketCapOpt = uiItem.MarketCapOpt, Benchmark = uiItem.Benchmark, DCreatedDate = uiItem.DCreatedDate, DModifiedDate = uiItem.DModifiedDate, CreatedUserId = uiItem.CreatedUserId, }; return(dbItem); }
private void ToolStripButton_DeleteTemplate_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } int ret = _templateBLL.DeleteTemplate(template); if (ret == 1) { MessageDialog.Info(this, msgDeleteTempSuccess); } else { MessageDialog.Warn(this, msgDeleteTemp); } }
private void Button_Confirm_Click(object sender, EventArgs e) { StockTemplate stockTemplate = GetTemplate(); if (CheckInputValue(stockTemplate)) { if (OnSave(this, stockTemplate)) { DialogResult = System.Windows.Forms.DialogResult.OK; } else { DialogResult = System.Windows.Forms.DialogResult.No; } } else { DialogResult = System.Windows.Forms.DialogResult.No; } }
public int DeleteTemplate(StockTemplate template) { int ret = -1; int userId = LoginManager.Instance.GetUserId(); if (_permissionManager.HasPermission(userId, template.TemplateId, ResourceType.SpotTemplate, PermissionMask.Delete)) { //TODO: delete the permission, too. ret = _tempdbdao.Delete(template.TemplateId); if (ret > 0) { //Remove the permission row in the database directly. NOT revoke!!!!! _permissionManager.Delete(template.TemplateId, ResourceType.SpotTemplate); //add the usage tracking _userActionTrackingBLL.Create(userId, Model.UsageTracking.ActionType.Delete, ResourceType.SpotTemplate, template.TemplateId, 1, Model.UsageTracking.ActionStatus.Success, JsonUtil.SerializeObject(template)); } } return(ret); }
private void ToolStripButton_CopyTemplate_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } string templateName = string.Format("copy_{0}", template.TemplateName); StockTemplate temp = new StockTemplate { TemplateName = templateName, FutureCopies = template.FutureCopies, MarketCapOpt = template.MarketCapOpt, EReplaceType = template.EReplaceType, EWeightType = template.EWeightType, Benchmark = template.Benchmark, CreatedUserId = LoginManager.Instance.GetUserId(), EStatus = template.EStatus, DCreatedDate = DateTime.Now, CanEditUsers = template.CanEditUsers, CanViewUsers = template.CanViewUsers, Permissions = template.Permissions, }; int newTemplateId = _templateBLL.Copy(template.TemplateId, temp); if (newTemplateId > 0) { temp.TemplateId = newTemplateId; _tempDataSource.Add(temp); //如果需要切换到新的模板,可以在此处理 } else { MessageDialog.Fail(this, msgCopyFail); } this.tempGridView.Invalidate(); }
private void CalculateAmount(StockTemplate template) { List <SecurityItem> secuList = GetSecurityItems(template); //QuoteCenter.Instance.Query(secuList); double[] prices = GetPrices(secuList); int[] amounts = _spotDataSource.Select(p => p.Amount).ToArray(); double[] mktCaps = GetMarketCap(prices, amounts); double totalCap = mktCaps.Sum(); for (int i = 0, count = _spotDataSource.Count; i < count; i++) { var stock = _spotDataSource[i]; stock.Amount = amounts[i]; stock.MarketCap = mktCaps[i]; stock.MarketCapWeight = 100 * stock.MarketCap / totalCap; stock.SettingWeight = stock.MarketCapWeight; } }
private void ToolStripButton_Save_Click(object sender, EventArgs e) { StockTemplate template = GetSelectTemplate(); if (template == null) { return; } if (_spotDataSource.Count <= 0) { return; } int ret = _templateBLL.Replace(template.TemplateId, _spotDataSource.ToList()); if (ret > 0) { SwitchTemplateStockSave(false); } }
private List <SecurityItem> GetSecurityItems(StockTemplate template) { List <SecurityItem> secuList = new List <SecurityItem>(); var benchmarkItem = _securityInfoList.Find(p => p.SecuCode.Equals(template.Benchmark) && p.SecuType == SecurityType.Index); if (benchmarkItem != null) { secuList.Add(benchmarkItem); } foreach (var stock in _spotDataSource) { var findItem = _securityInfoList.Find(p => p.SecuCode.Equals(stock.SecuCode) && p.SecuType == SecurityType.Stock); if (findItem != null) { secuList.Add(findItem); } } return(secuList); }
private void ModifyTemplate(StockTemplate template) { TemplateDialog dialog = new TemplateDialog(); dialog.SaveData += new FormSaveHandler(Dialog_ModifyTemplate); dialog.Owner = this; dialog.StartPosition = FormStartPosition.CenterParent; dialog.OnLoadControl(dialog, null); dialog.OnLoadData(dialog, template); dialog.ShowDialog(); if (dialog.DialogResult == System.Windows.Forms.DialogResult.OK) { MessageDialog.Info(this, msgModifySuccess); dialog.Dispose(); } else { dialog.Close(); dialog.Dispose(); } }
private bool Form_LoadData(object sender, object data) { if (sender == null || data == null) { return(false); } if (!(data is StockTemplate)) { return(false); } StockTemplate stockTemplate = data as StockTemplate; if (stockTemplate != null) { _oldTemplate = stockTemplate; FillData(_oldTemplate); SetUserPermission(_oldTemplate); } return(true); }