public virtual JsonResult IndexDelaysDetails(string operationNumber) { DelayResponse response; var jsonDataRequest = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]); var viewModel = PageSerializationHelper.DeserializeObject <DelaysEditModel>(jsonDataRequest.SerializedData); Dictionary <int, string> ListOutputs = new Dictionary <int, string>(); Dictionary <int, string> ListOutcomes = new Dictionary <int, string>(); var ResultOP = _ClientDelayArchievementRepository.GetListOutputs(operationNumber); var ResultOC = _ClientDelayArchievementRepository.GetListOutComes(operationNumber); foreach (var data in ResultOP) { if (data.Key != 0) { ListOutputs.Add(data.Key, data.Value); } } foreach (var data in ResultOC) { if (data.Key != 0) { ListOutcomes.Add(data.Key, data.Value); } } string lang = IDBContext.Current.CurrentLanguage.ToUpper(); var ListDelaysType = _ClientDelayArchievementRepository.GetTypesDelay(lang); viewModel.UpdateAchievementDelayFromFieldViewModel(jsonDataRequest.ClientFieldData, ListOutputs, ListOutcomes, ListDelaysType); response = new DelayResponse(); if (viewModel.DeleteDelay.Count > 0) { response.IsValid = _ClientDelayArchievementRepository.DeleteAchievement(viewModel.DeleteDelay.ToArray()); } if (viewModel.DeleteOtherDelay.Count > 0) { response.IsValid = _ClientDelayArchievementRepository.DeleteOtherDelay(viewModel.DeleteOtherDelay.ToArray()); } ViewBag.IsFREditable = _findingRecomendationService.OperationEditValidation(operationNumber); var userName = IDBContext.Current.UserLoginName; var errorMessage = SynchronizationHelper.AccessToResources("edit", TCMGlobalValues.URL_DELAYS_DETAILS, operationNumber, userName); if (!string.IsNullOrWhiteSpace(errorMessage)) { response.IsValid = false; response.ErrorMessage = errorMessage; } else { response.IsValid = _ClientDelayArchievementRepository.SaveDelays(viewModel); if (response.IsValid) { SynchronizationHelper.TryReleaseLock(TCMGlobalValues.URL_DELAYS_DETAILS, operationNumber, userName); } } return(Json(response)); }