public async Task <IActionResult> MetricAddPost(MetricWorkModel model) { Task select = GetMetricSelects(model); model.DropDeletedColumns(); if (ModelState.IsValid) { var result = await _crudService.Create(model.TranslateToMetricModel(), Token, SettingService.MetricEntity); AddMessageToModel(model, result.Message, !result.Success); if (result.Success) { return(RedirectToActionWithId(model, "MetricEdit", "Setting", result.Id)); } } else { AddModelStateErrors(model); } Task.WaitAll(select); return(View("Metric/Add", model)); }
public async Task <IActionResult> MetricAdd() { MetricWorkModel model = new MetricWorkModel(); await GetMetricSelects(model); return(View("Metric/Add", model)); }
public async Task <IActionResult> MetricEdit(int id) { MetricWorkModel model = new MetricWorkModel(); CheckTempData(model); Task select = GetMetricSelects(model); var result = await _crudService.Get <MetricModel>(id, Token, SettingService.MetricEntity, false); //lazy kvuli columns if (result.Success) { if (result.Value.CompanyId == MyUser.CompanyId) { model.Id = id; model.Name = result.Value.Name; model.Public = result.Value.Public; model.Description = result.Value.Description; model.RequirementGroup = result.Value.RequirementGroup; model.Identificator = result.Value.Identificator; model.MetricTypeId = result.Value.MetricTypeId.ToString(); model.AspiceProcessId = result.Value.AspiceProcessId.ToString(); model.AffectedFieldId = result.Value.AffectedFieldId.ToString(); model.LoadMetricColumns(result.Value.Columns); } else { model.CanView = false; AddMessageToModel(model, "You can't edit this metric!"); } } else { AddMessageToModel(model, result.Message); } Task.WaitAll(select); return(View("Metric/Edit", model)); }
public async Task <IActionResult> MetricEditPost(int id, MetricWorkModel model) { Task select = GetMetricSelects(model); model.DropDeletedColumns(); if (ModelState.IsValid) { var result = await _crudService.Edit(id, model.TranslateToMetricModel(), Token, SettingService.MetricEntity); AddMessageToModel(model, result.Message, !result.Success); } else { AddModelStateErrors(model); } Task.WaitAll(select); return(View("Metric/Edit", model)); }
private async Task GetMetricSelects(MetricWorkModel model) { Task[] tasks = new Task[3]; tasks[0] = _settingService.GetAspiceProcessesForSelect(Token).ContinueWith(t => { model.AspiceProcesses = t.Result; if (model.AspiceProcesses == null || model.AspiceProcesses.Count == 0) { AddMessageToModel(model, "Cannot retrieve Automotive SPICE processes, press F5 please."); } }); tasks[1] = _settingService.GetMetricTypesForSelect(Token).ContinueWith(t => { model.MetricTypes = t.Result; if (model.MetricTypes == null || model.MetricTypes.Count == 0) { AddMessageToModel(model, "Cannot retrieve metric types, press F5 please."); } }); tasks[2] = _settingService.GetAffectedFieldsForSelect(Token).ContinueWith(t => { model.AffectedFields = t.Result; if (model.AffectedFields == null || model.AffectedFields.Count == 0) { AddMessageToModel(model, "Cannot retrieve metric afected fields, press F5 please."); } }); await Task.WhenAll(tasks); }