Example #1
0
        /// <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;
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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);
        }