Exemplo n.º 1
0
        public JsonResult GetButtonList(string name, int pageIndex, int pageSize)
        {
            List <SYS_Button> list   = null;
            List <ButtonVO>   listvo = null;
            JsonResult        result = new JsonResult();
            int    count             = 0;
            string msg = "";

            try
            {
                list   = buttonService.GetButtonList(name, pageIndex, pageSize);
                count  = buttonService.GetButtonCount(name);
                listvo = Mapper.Map <List <ButtonVO> >(list);
                msg    = "success";
            }
            catch (Exception e)
            {
                msg = e.Message;
            }
            finally
            {
                result = Json(new { code = 0, msg = msg, count = count, data = listvo }, JsonRequestBehavior.AllowGet);
            }
            return(result);
        }
Exemplo n.º 2
0
        private async Task <KeypadModel> GetKeypadAsync(long stateId)
        {
            var buttonList = await _buttonService.GetButtonList(stateId);

            buttonList = buttonList.OrderBy(x => x.Row).ThenBy(x => x.Order).ToList();

            var keypad = new KeypadModel()
            {
                Rows = new List <KeypadRowModel>()
            };

            foreach (var button in buttonList)
            {
                if (keypad.Rows.Count < button.Row)
                {
                    keypad.Rows.Add(new KeypadRowModel());
                    keypad.Rows[button.Row - 1].Buttons = new List <ButtonModel>();
                }

                var newButton = new ButtonModel
                {
                    Id         = button.Code,
                    Type       = button.Type,
                    ButtonView = new ButtonSimpleModel
                    {
                        Type     = button.ViewType,
                        Text     = button.Text,
                        ImageUrl = button.ImageUrl
                    },
                    BehaviourType = button.BehaviourType
                };

                if (button.Type == ButtonTypeEnum.Selection)
                {
                    newButton.ButtonSelection = JsonConvert.DeserializeObject <ButtonSelectionModel>(button.Data);
                }
                else if (button.Type == ButtonTypeEnum.Calendar)
                {
                    newButton.ButtonCalendar = JsonConvert.DeserializeObject <ButtonCalendarModel>(button.Data);
                    var pc  = new PersianCalendar();
                    var now = $"{pc.GetYear(DateTime.Now)}-{pc.GetMonth(DateTime.Now)}-{pc.GetDayOfMonth(DateTime.Now)}";
                    newButton.ButtonCalendar.DefaultValue = now;
                }
                else if (button.Type == ButtonTypeEnum.NumberPicker)
                {
                    newButton.ButtonNumberPicker = JsonConvert.DeserializeObject <ButtonNumberPickerModel>(button.Data);
                }
                else if (button.Type == ButtonTypeEnum.StringPicker)
                {
                    newButton.ButtonStringPicker = JsonConvert.DeserializeObject <ButtonStringPickerModel>(button.Data);
                }
                else if (button.Type == ButtonTypeEnum.Location)
                {
                    newButton.ButtonLocation = JsonConvert.DeserializeObject <ButtonLocationModel>(button.Data);
                }
                else if (button.Type == ButtonTypeEnum.Alert)
                {
                    newButton.ButtonAlert = JsonConvert.DeserializeObject <ButtonAlertModel>(button.Data);
                }
                else if (button.Type == ButtonTypeEnum.Textbox)
                {
                    newButton.ButtonTextBox = JsonConvert.DeserializeObject <ButtonTextBoxModel>(button.Data);
                }
                else if (button.Type == ButtonTypeEnum.Payment)
                {
                    // handled in another method
                }
                else if (button.Type == ButtonTypeEnum.Call)
                {
                    newButton.ButtonCall = JsonConvert.DeserializeObject <ButtonCallModel>(button.Data);
                }

                keypad.Rows[button.Row - 1].Buttons.Add(newButton);
            }

            return(keypad);
        }