public async Task <IActionResult> DeleteAsync(int id, Model model)
        {
            if (ModelState.IsValid == false)
            {
                return(RedirectToAction("Delete", new { id, error = GetModelStateError() }));
            }
            try
            {
                using var ctrl = Factory.Create <Contract>(SessionWrapper.SessionToken);

                if (model.DeleteGroup)
                {
                    var qry = await ctrl.QueryAllAsync($"{nameof(model.HolidayGroup)}={model.HolidayGroup}");

                    foreach (var item in qry)
                    {
                        await ctrl.DeleteAsync(item.Id);
                    }
                }
                else
                {
                    await ctrl.DeleteAsync(id);
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Delete", new { id, error = GetExceptionError(ex) }));
            }
            return(RedirectToAction("Index", "Home"));
        }
        public async Task <IActionResult> EditAsync(int id, Model model)
        {
            if (ModelState.IsValid == false)
            {
                model.ActionError = GetModelStateError();
                return(View(model));
            }
            try
            {
                using var ctrl = Factory.Create <Contract>(SessionWrapper.SessionToken);

                await ctrl.UpdateAsync(model);
            }
            catch (Exception ex)
            {
                model.ActionError = GetExceptionError(ex);
                return(View(model));
            }
            return(RedirectToAction("Index", "Home"));
        }