/// <summary> /// /// </summary> /// <param name="model"></param> /// <param name="criterion"></param> /// <param name="groupId"></param> private static void GetValueCriterionWorkbook(EvaluationModel model, CriterionModel criterion, int?groupId) { var empArgument = EmployeeArgumentController.GetAll(null, null, groupId, model.RecordId, model.Month, model.Year, null, null); var workbook = new WorkBook { AutoCalc = false }; foreach (var argument in empArgument) { switch (argument.ValueType) { case KpiValueType.String: workbook.setText($"{argument.ArgumentCalculateCode}1", argument.Value); break; case KpiValueType.Number: workbook.setNumber($"{argument.ArgumentCalculateCode}1", double.TryParse(argument.Value, out var parseResultNumber) ? parseResultNumber : 0); break; case KpiValueType.Percent: workbook.setFormula($"{argument.ArgumentCalculateCode}1", double.TryParse(argument.Value, out var parseResultPercent) ? $"{parseResultPercent} * 0.01" : "0"); break; case KpiValueType.Formula: workbook.setFormula($"{argument.ArgumentCalculateCode}1", argument.Value.TrimStart('=')); break; } } workbook.setFormula("A1", criterion.Formula.TrimStart('=')); workbook.recalc(); switch (criterion.ValueType) { case KpiValueType.Number: model.Value = workbook.getNumber("A1").ToString("#,##0.##"); break; case KpiValueType.Percent: model.Value = (workbook.getNumber("A1") * 100).ToString("0.00"); break; default: model.Value = workbook.getText("A1"); break; } }
protected void Page_Load(object sender, EventArgs e) { if (!ExtNet.IsAjaxRequest) { var data = new List <object>(); var employee = EmployeeArgumentController.GetAll(null, null, null, null, null, null, null); var listRecordIds = employee.Select(rc => new { rc.RecordId, rc.FullName }).Distinct().ToList(); var index = 0; foreach (var item in listRecordIds) { index++; data.Add(new { ID = "{0}".FormatWith(item.RecordId), Name = item.FullName }); } this.Store1.DataSource = data; this.Store1.DataBind(); } }
protected void BeforeExpand(object sender, DirectEventArgs e) { var id = e.ExtraParams["id"]; var store = new Store { ID = "StoreRow_" + id }; var reader = new JsonReader { IDProperty = "ID" }; reader.Fields.Add("ID", "FullName", "EmployeeCode"); store.Reader.Add(reader); var data = new List <object>(); var employee = EmployeeArgumentController.GetAll(null, Convert.ToInt32(id), null, null, null, null, null); var index = 0; foreach (var item in employee) { index++; data.Add(new { ID = "RecordId" + index, FullName = item.FullName, EmployeeCode = item.EmployeeCode, }); } //for (var i = 1; i <= 10; i++) //{ // data.Add(new // { // ID = "P" + i, // FullName = "Product " + i1234567890- // EmployeeCode = "" // }); //} store.DataSource = data; this.RemoveFromCache(store.ID); store.Render(); this.AddToCache(store.ID); var list = new ListView { ID = "ListViewRow_" + id, MultiSelect = true, StoreID = "{raw}StoreRow_" + id, Height = 200 }; foreach (var item in employee) { list.Columns.AddRange(new ListViewColumn[] { new ListViewColumn { Header = "Mã NV", DataIndex = "{0}".FormatWith(item.EmployeeCode), Width = 100, Align = TextAlign.Left } }); } this.RemoveFromCache(list.ID); list.Render("row-" + id, RenderMode.RenderTo); this.AddToCache(list.ID); }