private void CreateActions(MaterialMenuConfiguration configuration) { if (_choices == null || _choices.Count <= 0) { throw new ArgumentException("Parameter actions should not be null or empty"); } var actionModels = new List <ActionModel>(); _choices.ForEach(a => { var actionModel = new MenuActionModel { Text = a.Text, Image = a.Image, Index = a.Index }; actionModel.TextColor = configuration.TextColor; actionModel.FontFamily = configuration.TextFontFamily; actionModel.SelectedCommand = new Command <int>(async(position) => { if (this.InputTaskCompletionSource?.Task.Status == TaskStatus.WaitingForActivation) { actionModel.IsSelected = true; await this.DismissAsync(); this.InputTaskCompletionSource?.SetResult(position); } }); actionModel.SizeChangeCommand = new Command <Dictionary <string, object> >(this.LabelSizeChanged); actionModels.Add(actionModel); actionModel.Index = actionModels.IndexOf(actionModel); }); this.SetList(actionModels); }
public async Task <JsonResult> Action(MenuActionModel model) { JsonResult result = new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet }; var message = ""; bool isSuccess = false; try { if (ModelState.IsValid) { if (model.ID > 0) { _menu = _IMenuServices.GetDataById(model.ID); _menu.MenuName = model.MenuName; _menu.Controller = model.Controller; _menu.Action = model.Action; _menu.IsParent = model.IsParent; _menu.IsActive = model.IsActive; _menu.ParentId = model.ParentId; _menu.Icon = model.Icon; _menu.UpdateDate = DateTime.Now; isSuccess = _IMenuServices.UpdateData(_menu); } else { _menu.MenuName = model.MenuName; _menu.Controller = model.Controller; _menu.Action = model.Action; _menu.IsParent = model.IsParent; _menu.IsActive = model.IsActive; _menu.ParentId = model.ParentId; _menu.Icon = model.Icon; _menu.EntryDate = DateTime.Now; _menu.ProjectName = "Library Management System"; isSuccess = await Task.Run(() => _IMenuServices.SaveData(_menu)); } } else { message = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); } } catch (Exception ex) { message = ex.Message; } if (isSuccess) { message = "Data Save Successfully!!"; result.Data = new { Success = true, Message = message }; } else { result.Data = new { Success = false, Message = message }; } return(result); }