kendo->ОЫ

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Oublier
Сообщения: 1
Зарегистрирован: 04 фев 2016, 03:07

04 фев 2016, 03:14

Вот в чём проблема, раньше все графики были в kendo щас перевели в hight chart и нужно в контроллере переписать логику. достать из базы смогла вот проблема логику переписать. Помогите я реально щас не вникаю
public ActionResult Warehouse()
{
var idNameValue = IoCConfig.Create<IIdNameValue>();

var departments = idNameValue.GetDepartments("", DepartmentType.ParentStock).OrderBy(p => p.Name).ToList();
departments.Insert(0, new IdNameResult { Id = 0, Name = GlobalRes.All });

var parties = idNameValue.GetParties().ToList();
parties.Insert(0, new IdNameResult { Id = 0, Name = GlobalRes.All });

ViewBag.Departments = departments;
ViewBag.Parties = parties;
ViewBag.EggTypes = idNameValue.GetEggTypes().ToList();

return View();
}

//[HttpPost]
public JsonResult WarehouseRead([DataSourceRequest] DataSourceRequest request, DateTime? date, int? departmentId, int? partyId)
{
if (date == null) date = DateTime.Today;
var start = new DateTime(date.Value.Year, date.Value.Month, 1);
var finish = start.AddMonths(1).AddDays(-1);

var eggWarehouseRepository = IoCConfig.Create<IEggWarehouseRepository>();
var idNameRepository = IoCConfig.Create<IIdNameValue>();

var eggTypes = idNameRepository.GetEggTypes().ToList();

var items = eggWarehouseRepository.GetSorting(start, finish, departmentId, partyId).OrderBy(p => p.Date);

var list = new List<IDictionary<string, Object>>();
double[] listDataAverage = null;
int count = finish.Day;
for (int i = 1; i <= count; i++)
{
var l = new ExpandoObject() as IDictionary<string, Object>;
l.Add("Date", i);
foreach (var type in eggTypes)
{
l.Add("EggType" + type.Id, 0d);
}
list.Add(l);
}
foreach (var item in items)
{
int dayInMonth = item.Date.Day - 1;
foreach (var idCountResult in item.Data)
{
list[dayInMonth]["EggType" + idCountResult.Id] = idCountResult.Count ?? 0;
}
}

var jsonNetResult = new JsonDinamycResult(list);
return jsonNetResult;
}
Ответить