Exemple #1
0
        public async Task <ActionResult> Update(MarginViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Margin MainModel = model._MainObj;
                    if (model.MarginStatus == true)
                    {
                        model.StateId   = (int)EnumCore.StateType.enable;
                        model.StateName = "Có hiệu lực";
                    }
                    else
                    {
                        model.StateId   = (int)EnumCore.StateType.disable;
                        model.StateName = "Hết hiệu lực";
                    }

                    int rs = await cms_db.UpdateMargin(MainModel);

                    int SaveTickerPackage = this.SaveMarginPackage(model.lstMarginPackage, MainModel);
                    int rs2 = await cms_db.CreateUserHistory(long.Parse(User.Identity.GetUserId()), Request.ServerVariables["REMOTE_ADDR"],
                                                             (int)EnumCore.ActionType.Update, "Update", MainModel.MarginId, "Margin", "MarginManager", (int)EnumCore.ObjTypeId.margin);
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                cms_db.AddToExceptionLog("Update", "MarginManagerController", e.ToString(), long.Parse(User.Identity.GetUserId()));
                return(RedirectToAction("Index"));
            }
        }
Exemple #2
0
        public ActionResult Update(int?id)
        {
            if (id == null)
            {
                id = 1;
            }
            Margin          _obj  = cms_db.GetObjMargin(id.Value);
            MarginViewModel model = new MarginViewModel(_obj);

            if (model.StateId == (int)EnumCore.StateType.enable)
            {
                model.MarginStatus = true;
            }
            else
            {
                model.MarginStatus = false;
            }

            if ((model.CrtdUserId == long.Parse(User.Identity.GetUserId()) && User.IsInRole("Mod")) || User.IsInRole("AdminUser") || User.IsInRole("devuser"))
            {
                model.lstPackage       = cms_db.GetObjSelectListPackage();
                model.lstMarginPackage = cms_db.GetlstTickerPackage(model.MarginId, (int)EnumCore.ObjTypeId.margin);
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Exemple #3
0
        public async Task <ActionResult> Create(MarginViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Margin MainModel = model._MainObj;
                    MainModel.CrtdDT       = DateTime.Now;
                    MainModel.CrtdUserId   = long.Parse(User.Identity.GetUserId());
                    MainModel.CrtdUserName = User.Identity.Name;
                    MainModel.StateId      = (int)EnumCore.TickerStatusType.dang_chay;
                    MainModel.StateName    = "Có hiệu lực";
                    int rs = await cms_db.CreateMarginAsync(MainModel);

                    int SaveTickerPackage = this.SaveMarginPackage(model.lstMarginPackage, MainModel);

                    int rs2 = await cms_db.CreateUserHistory(long.Parse(User.Identity.GetUserId()), Request.ServerVariables["REMOTE_ADDR"],
                                                             (int)EnumCore.ActionType.Create, "Create", MainModel.MarginId, "Margin", "MarginManager", (int)EnumCore.ObjTypeId.margin);


                    var context = GlobalHost.ConnectionManager.GetHubContext <NotifiHub>();
                    context.Clients.All.notificationNewMargin();
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                cms_db.AddToExceptionLog("Create", "MarginManagerController", e.ToString(), long.Parse(User.Identity.GetUserId()));
                return(RedirectToAction("Index"));
            }
        }
Exemple #4
0
        public ActionResult Create()
        {
            MarginViewModel model = new MarginViewModel();

            model.lstPackage = cms_db.GetObjSelectListPackage();

            return(View(model));
        }
Exemple #5
0
        /// <summary>
        /// lấy danh sách margin theo user
        /// </summary>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public MarginViewModel GetMarginByPackageLinq(long PackageId)
        {
            ///lấy list id của margin ko trung lap
            long lstMarginid = (from cp in db.ContentPackages
                                where cp.ContentType == (int)EnumCore.ObjTypeId.margin && cp.PackageId == PackageId
                                orderby cp.ContentId descending
                                select cp.ContentId
                                ).FirstOrDefault();



            //lấy list margin
            MarginViewModel rs = (from ma in db.Margins
                                  join co in db.ContentPackages on ma.MarginId equals co.ContentId into all
                                  from l in all.DefaultIfEmpty()
                                  where ma.MarginId == lstMarginid


                                  select(new MarginViewModel
            {
                MarginId = ma.MarginId,
                MarginName = ma.MarginName,
                Long = ma.Long,
                LongStop = ma.LongStop,
                LongRate = ma.LongStop,
                LongNote = ma.LongNote,
                Short = ma.Short,
                ShortStop = ma.ShortStop,
                ShortRate = ma.ShortRate,
                ShortNote = ma.ShortNote,
                CrtdUserName = ma.CrtdUserName,
                CrtdUserId = ma.CrtdUserId,
                CrtdDT = ma.CrtdDT,
                StateName = ma.StateName,
                StateId = ma.StateId,
                PackageName = l.PackageName,
                PackageId = l.PackageId
            })).FirstOrDefault();

            return(rs);
        }
Exemple #6
0
        public ActionResult Index(int?page, int?status, int?MarginPackage)
        {
            int pageNum = (page ?? 1);
            IndexMarginManager  model = new IndexMarginManager();
            IQueryable <Margin> tmp   = cms_db.GetlstMargin();

            if (status.HasValue)
            {
                if (status.Value == 0)
                {
                    tmp = tmp.Where(s => s.StateId == (int)EnumCore.StateType.disable);
                }
                else
                {
                    tmp = tmp.Where(s => s.StateId == (int)EnumCore.StateType.enable);
                }

                model.status = status.Value;
            }


            if (MarginPackage.HasValue && MarginPackage.Value != 0)
            {
                if (MarginPackage != 0)
                {
                    foreach (Margin _val in tmp)
                    {
                        List <ContentPackage> lstpackageofticker = cms_db.GetlstObjContentPackage(_val.MarginId, (int)EnumCore.ObjTypeId.margin);
                        if (!lstpackageofticker.Select(s => s.PackageId).Contains(MarginPackage.Value))
                        {
                            tmp = tmp.Where(s => s.MarginId != _val.MarginId);
                        }
                    }

                    model.MarginPackage = MarginPackage.Value;
                }
            }

            if (tmp.Count() < (int)EnumCore.BackendConst.page_size)
            {
                pageNum = 1;
            }
            model.page = pageNum;
            List <MarginViewModel> prelistmain = new List <MarginViewModel>();

            foreach (Margin _val in tmp)
            {
                MarginViewModel abc = new MarginViewModel(_val);
                abc.lstMarginContentPackage = cms_db.GetlstObjContentPackage(_val.MarginId, (int)EnumCore.ObjTypeId.margin);
                prelistmain.Add(abc);
            }



            model.lstMainMargin = prelistmain.OrderByDescending(c => c.CrtdDT).ToPagedList(pageNum, (int)EnumCore.BackendConst.page_size);



            model.lstMarginStatus  = new SelectList(cms_db.Getclasscatagory((int)EnumCore.ClassificationScheme.status_ticker), "value", "text");
            model.lstMarginPackage = new SelectList(cms_db.GetObjSelectListPackage(), "value", "text");

            return(View(model));
        }