using Ninject; using System; using System.Collections.Generic; using System.Web.Mvc; using WX.CRM.BLL.Base; using WX.CRM.Common; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.WeiXin { public class StockRecommendController : BaseController { ValidationErrors errors = new ValidationErrors(); [Inject] public IWX_STOCKRECOMMEND wx_StockReCommend_BL { get; set; } [AuthorizeRedirect(Roles = InitRights.CONST_分析师荐股)] public ActionResult Index() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.分析师荐股, userRightId); tool.AllowButton(toolbtn); //tool.AllowButton("Create", "Edit", "Details", "Delete"); ViewBag.ToolBar = tool; //table Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("PKID", "编号"); tab.AddHeadCol("REFERRERID", "", "荐股人"); tab.AddHeadCol("STOCKCODE", "", "股票号"); tab.AddHeadCol("STOCKNAME", "", "股票名"); tab.AddHeadCol("BUYPRICE", "", "建仓价格"); tab.AddHeadCol("BUYDATE", "", "建仓时间"); tab.AddHeadCol("STOPLOSSPRICE", "", "止损价格"); tab.AddHeadCol("POSITION", "", "仓位"); tab.AddHeadCol("SELLDATEANDPRICE", "", "卖出时间与价格"); tab.AddHeadCol("EARNINGRATE", "", "收益率"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20"); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_分析师荐股)] public JsonResult GetHtmlList(Pager pager, string eid, string stockCode, string stockName, string stime, string etime, string columns) { decimal? userId = null; if (!string.IsNullOrWhiteSpace(eid)) { decimal decEid = 0; decimal.TryParse(eid, out decEid); userId = InnerUserHelper.Instance.GetUserIdByEid(decEid); } List list = wx_StockReCommend_BL.GetList(ref pager, userId, stockCode, stockName, stime, etime); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddHiddenCol(model.PKID); table.AddCol(InnerUserHelper.Instance.GetEidAndTrueName(model.REFERRERID)); table.AddCol(model.STOCKCODE); table.AddCol(model.STOCKNAME); table.AddCol(model.BUYPRICE); table.AddCol(string.Format("{0:yyyy-MM-dd}", model.BUYDATE)); table.AddCol(model.STOPLOSSPRICE); table.AddCol(string.Format("{0}%", model.POSITION)); table.AddCol(model.SELLDATEANDPRICE); table.AddCol(model.EARNINGRATE > 0 ? string.Format("{0}%", model.EARNINGRATE) : string.Format("{0}%", model.EARNINGRATE)); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [AuthorizeRedirect(Roles = InitRights.CONST_分析师荐股)] public ActionResult Edit(string id) { string eid = ""; WX_STOCKRECOMMEND model = null; if (id == null) { model = new WX_STOCKRECOMMEND(); // 数据初始化 } else { var pkid = Convert.ToDecimal(id); model = wx_StockReCommend_BL.Get(m => m.PKID == pkid); eid = InnerUserHelper.Instance.GetEid(model.REFERRERID); } ViewBag.eid = eid; return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_分析师荐股, InitToolBar.CONST_Add)] public JsonResult Edit(WX_STOCKRECOMMEND model, string eid) { if (!ModelState.IsValid) { return JsonHandler.ValidateFailMessage(); } decimal decEid = 0; decimal.TryParse(eid, out decEid); var referrerid = InnerUserHelper.Instance.GetUserIdByEid(decEid); if (referrerid <= 1) { errors.Add("分析师工号不存在!"); return JsonHandler.InsertMessage(errors, false); } if (string.IsNullOrEmpty(model.STOCKCODE)) { errors.Add("股票号不能为空!"); return JsonHandler.InsertMessage(errors, false); } if (string.IsNullOrEmpty(model.STOCKNAME)) { errors.Add("股票名称不能为空!"); return JsonHandler.InsertMessage(errors, false); } if (!model.BUYDATE.HasValue) { errors.Add("建仓时间不能为空!"); return JsonHandler.InsertMessage(errors, false); } if (model.PKID == 0) { model.PKID = new SEQUENCES_BL().Seq_base_get(); model.REFERRERID = referrerid; model.INNERUSERID = UserId; model.CTIME = DateTime.Now; bool result = wx_StockReCommend_BL.Add(model) == 1; return JsonHandler.InsertMessage(errors, result); } else { model.INNERUSERID = UserId; model.REFERRERID = referrerid; bool result = wx_StockReCommend_BL.Update(model); return JsonHandler.UpdateMessage(errors, result); } } [HttpGet] [AuthorizeToolBar(InitRights.CONST_分析师荐股, InitToolBar.CONST_Details)] public ActionResult Detail(string id) { var oId = Convert.ToDecimal(id); var model = wx_StockReCommend_BL.Get(m => m.PKID == oId); //if (!string.IsNullOrWhiteSpace(model.SELLDATEANDPRICE)) //{ // model.SELLDATEANDPRICE = model.SELLDATEANDPRICE.Replace("\r\n", "
").Replace("\n", "
"); //} //if (!string.IsNullOrWhiteSpace(model.RECOMMENDREASON)) //{ // model.RECOMMENDREASON = model.RECOMMENDREASON.Replace("\r\n", "
").Replace("\n", "
"); //} ViewBag.SellDateAndPrice = !string.IsNullOrWhiteSpace(model.SELLDATEANDPRICE) ? model.SELLDATEANDPRICE.Replace("\r\n", "
").Replace("\n", "
") : model.SELLDATEANDPRICE; ViewBag.referrer = InnerUserHelper.Instance.GetEidAndTrueName(model.REFERRERID); return View(model); } } }