public JsonResult EditVariant(string Number, string JsonArr, bool IntrVar, long variantId) { LabVariant labVar = _labRepository.GetLabVariantById(variantId); long labId = labVar.LabWork.Id; if (_labRepository.CheckLabVariantExist(labId, Number) && (_labRepository.GetLabVariantIdByNumber(labId, Number) != variantId)) { return(Json(ResponseConstants.LabVariantNameCollisionSystemName)); } labVar.Number = Number; labVar.IntroducingVariant = IntrVar; labVar.Version += 1; labVar.TaskVariants.Clear(); labVar.TaskVariants = MakeTaskVariantsList(JsonConvert.DeserializeObject <long[]>(JsonArr)); try { _labRepository.ModifyLabVariant(labVar); } catch (Exception) { return(Json(ResponseConstants.LabVariantModifyErrorSystemName)); } return(Json(ResponseConstants.LabVariantModifySuccessSystemName)); }
public JsonResult EditVariant(string Number, string JsonArr, bool IntrVar, long variantId, long testPoolId) { LabVariant labVar = _labRepository.GetLabVariantById(variantId); long labId = labVar.LabWork.Id; if (_labRepository.CheckLabVariantExist(labId, Number) && (_labRepository.GetLabVariantIdByNumber(labId, Number) != variantId)) { return(Json(ResponseConstants.LabVariantNameCollisionSystemName)); } labVar.Number = Number; labVar.IntroducingVariant = IntrVar; labVar.Version += 1; labVar.TaskVariants.Clear(); labVar.TaskVariants = MakeTaskVariantsList(JsonConvert.DeserializeObject <long[]>(JsonArr)); // TODO: не обновляет на null. Однако, если поставить точку остановки после получения labVar - null ставится labVar.TestPool = (testPoolId > 0) ? _testPoolRepository.GetTestPoolById(testPoolId) : null; try { _labRepository.ModifyLabVariant(labVar); } catch (Exception) { return(Json(ResponseConstants.LabVariantModifyErrorSystemName)); } return(Json(ResponseConstants.LabVariantModifySuccessSystemName)); }