public void NuGetPositionListByItem() { var accId = -1; using (var ctx = connectionPersistent) { try { accId = ctx.ACCOUNT.First().ID; } catch (Exception ex) { Logger.ErrorFormat("Тестирование невозможно. В таблице ACCOUNT тестовой БД не найдело записей.", ex); Assert.Fail("Тестирование невозможно. В таблице ACCOUNT файловой БД не найдело записей."); } } var positionList1 = new PositionListModel { AccountId = accId, }; var positionListResult1 = positionRepository.GetPositionList(positionList1); Assert.NotNull(positionListResult1); Assert.NotNull(positionListResult1.Positions); var positionList2 = new PositionListModel { AccountId = accId, Side = DealType.Buy }; var positionListResult2 = positionRepository.GetPositionList(positionList2); Assert.NotNull(positionListResult2); Assert.NotNull(positionListResult2.Positions); var positionList3 = new PositionListModel { AccountId = accId, Status = PositionState.Closed }; var positionListResul3 = positionRepository.GetPositionList(positionList3); Assert.NotNull(positionListResul3); Assert.NotNull(positionListResul3.Positions); var positionListResul4 = positionRepository.GetPositionList(null); Assert.NotNull(positionListResul4); Assert.IsNull(positionListResul4.Positions); }
public ActionResult PositionList(PositionListModel positionListModel) { var accId = positionListModel.AccountId.HasValue ? positionListModel.AccountId.Value.ToString(CultureInfo.InvariantCulture) : ""; FillFiltersToPositionList(accId); if (!ModelState.IsValid) return View(positionListModel); //TODO Формат даты сейчас зашит харкодом!! positionListModel.DateTimeFormat = new DateTimeFormatInfo {DateSeparator = ".", ShortDatePattern = "dd.MM.yyyy"}; var model = positionRepository.GetPositionList(positionListModel); if (Request.IsAjaxRequest()) return PartialView("PositionListPartialTable", model); return View(model); }
/// <summary> /// формируем модель для представления PositionListModel (выборка с фильтрами из БД хранимой процедурой) /// </summary> /// <param name="positionListModel">Объект с новыми значениями фильтров</param> /// <remarks>Пока не тестируетя</remarks> public PositionListModel GetPositionList(PositionListModel positionListModel) { try { List<PositionItem> result; int totalCountPositeion; using (var ctx = DatabaseContext.Instance.Make()) { var allPositions = ctx.GetPositionListWrapped(positionListModel.CountItemShow, !positionListModel.AccountId.HasValue || positionListModel.AccountId == -1 ? null : positionListModel.AccountId, !positionListModel.IsRealAccount.HasValue || positionListModel.IsRealAccount == -1 ? null : positionListModel.IsRealAccount, positionListModel.Symbol == null || positionListModel.Symbol.ToLower() == "null" ? null : positionListModel.Symbol, !((int?)positionListModel.Status).HasValue || (int?)positionListModel.Status == -1 ? null : (int?)positionListModel.Status, positionListModel.Side.HasValue ? (int?)positionListModel.Side : null, positionListModel.TimeOpenFrom.ToDateTimeUniformSafe(positionListModel.DateTimeFormat), positionListModel.TimeOpenTo.ToDateTimeUniformSafe(positionListModel.DateTimeFormat), positionListModel.TimeExitFrom.ToDateTimeUniformSafe(positionListModel.DateTimeFormat), positionListModel.TimeExitTo.ToDateTimeUniformSafe(positionListModel.DateTimeFormat), out totalCountPositeion); result = Utils.DecoratPositionItems(allPositions.ToList()); } return new PositionListModel { CountItemShow = positionListModel.CountItemShow, AccountId = positionListModel.AccountId, Positions = result, TotalCountItems = totalCountPositeion }; } catch (Exception ex) { Logger.Error("GetPositionList(PositionItem decoratPositionItems)", ex); return new PositionListModel(); } }