public static void UpdateCancelReason( this CancelProcurementViewModel viewmodel, ClientFieldData[] formData) { if (viewmodel == null) { return; } var field = formData.FirstOrDefault(x => x.Name == "cancelReasonId"); if (field != null) { viewmodel.ReasonId = field.ConvertToInt( mode: ConvertModeEnum.ThrowExceptionInFail); } field = formData.FirstOrDefault(x => x.Name == "reason"); if (field != null) { viewmodel.Reason = field.ConvertToString(); } field = formData.FirstOrDefault(x => x.Name == "otherReason"); if (field != null) { viewmodel.OtherReason = field.ConvertToString(); } viewmodel.Documents.BindDataFormDocsSimpleToModel(formData, TableValue.CAN_REASON); }
public virtual JsonResult SaveCancelReason(string operationNumber, int procurementId) { var identifier = string.Format("{0}-proc-{1}", operationNumber, procurementId); var responseView = new SaveResponse() { IsValid = true }; var errorMessage = SynchronizationHelper.AccessToResources(SynchronizationHelper.EDIT_MODE, SYNC_PROCUREMENT, identifier, IDBContext.Current.UserLoginName); if (!string.IsNullOrWhiteSpace(errorMessage)) { responseView.IsValid = false; responseView.ErrorMessage = errorMessage; return(Json(responseView)); } var jsonDataRequest = PageSerializationHelper.DeserializeJsonForm(Request.Form[0]); var model = PageSerializationHelper.DeserializeObject <CancelProcurementViewModel>(jsonDataRequest.SerializedData); if (model == null) { model = new CancelProcurementViewModel(); } model.UpdateCancelReason(jsonDataRequest.ClientFieldData); var response = _firmProcurementService.SaveCancelReason(procurementId, model); responseView.IsValid = response.IsValid; responseView.ErrorMessage = response.ErrorMessage; if (responseView.IsValid) { SynchronizationHelper.TryReleaseLock(SYNC_PROCUREMENT, identifier, IDBContext.Current.UserLoginName); var url = Url.Action("ProcurementList", "FirmProcurement", new { area = "Procurement" }); responseView.UrlRedirect = url; } return(Json(responseView)); }