public Operation Actualizar_EnvioCotRetail(FilesAsociadosSRVResponse FileAsociadosSRVResponse) { var operation = new Operation(); #region Parameter /// (01) P_CODIGO_ERROR AddParameter(OutParameter.CodigoError, OracleDbType.Varchar2, DBNull.Value, ParameterDirection.Output, OutParameter.DefaultSize); /// (02) P_MENSAJE_ERROR AddParameter(OutParameter.MensajeError, OracleDbType.Varchar2, DBNull.Value, ParameterDirection.Output, OutParameter.DefaultSize); /// (03) P_OPORTUNIDAD_CRM AddParameter("P_OPORTUNIDAD_CRM", OracleDbType.Varchar2, FileAsociadosSRVResponse.id_oportunidad_sf); /// (04) P_ES_ATENCION AddParameter("P_ES_ATENCION", OracleDbType.Varchar2, FileAsociadosSRVResponse.codigo_error); /// (05) P_DESCRIPCION AddParameter("P_DESCRIPCION", OracleDbType.Varchar2, FileAsociadosSRVResponse.mensaje_error); /// (06) P_ACTUALIZADOS AddParameter(OutParameter.NumeroActualizados, OracleDbType.Varchar2, DBNull.Value, ParameterDirection.Output, OutParameter.DefaultSize); #endregion #region Invoke ExecuteStoredProcedure(StoredProcedureName.AW_Upd_EnvioCotRetail); operation[OutParameter.CodigoError] = GetOutParameter(OutParameter.CodigoError); operation[OutParameter.MensajeError] = GetOutParameter(OutParameter.MensajeError); operation[OutParameter.NumeroActualizados] = GetOutParameter(OutParameter.NumeroActualizados); #endregion return(operation); }
public IHttpActionResult Send() { IEnumerable <FilesAsociadosSRV> ListFilesAsociadosSRV = null; List <FilesAsociadosSRVResponse> ListFileAsociadosSRVResponse = new List <FilesAsociadosSRVResponse>(); List <Respuesta> ListRpta = new List <Respuesta>(); string errorEnvio = string.Empty; try { RepositoryByBusiness(null); /*Consulta de files asociadiados a BD*/ ListFilesAsociadosSRV = (IEnumerable <FilesAsociadosSRV>)_fileSrvRetailRepository.GetFilesAsociadosSRV()[OutParameter.CursorFilesAsociadosSRV]; if (ListFilesAsociadosSRV == null || ListFilesAsociadosSRV.ToList().Count.Equals(0)) { return(Ok(false)); } /*Obtiene Token de envío a Salesforce*/ var authSf = RestBase.GetToken(); var token = authSf[OutParameter.SF_Token].ToString(); var crmServer = authSf[OutParameter.SF_UrlAuth].ToString(); ///*Por cada file...*/ //var FilesAsociadosSF = new List<object>(); //foreach (var fileAsociado in ListFilesAsociadosSRV) // FilesAsociadosSF.Add(fileAsociado.ToSalesforceEntity()); //try //{ // var objEnvio = new { info = FilesAsociadosSF }; // /*Envío de files asociados a Salesforce*/ // var responseFilesAsociados = RestBase.ExecuteByKeyWithServer(crmServer, SalesforceKeys.PedidosProcesadosMethod, Method.POST, objEnvio, true, token); // if (responseFilesAsociados.StatusCode.Equals(HttpStatusCode.OK)) // { // dynamic jsonResponse = new JavaScriptSerializer().DeserializeObject(responseFilesAsociados.Content); // foreach (var fileAsociado in ListFilesAsociadosSRV) // { // foreach (var jsResponse in jsonResponse["Solicitudes"]) // { // if (fileAsociado.file_id == jsResponse[OutParameter.SF_IdSolicitudPago]) // { // /*Validamos Y Actualizamos en BD*/ // } // } // } // } //} //catch (Exception ex) //{ // errorEnvio = errorEnvio + ApiResponseCode.ErrorCode + " - " + ex.Message + " ||."; //} foreach (var fileAsociado in ListFilesAsociadosSRV) { try { var responseFilesAsociados = RestBase.ExecuteByKeyWithServer(crmServer, SalesforceKeys.OportunidadAsocMethod, Method.POST, fileAsociado.ToSalesforceEntity(), true, token); if (responseFilesAsociados.StatusCode.Equals(HttpStatusCode.OK)) { dynamic jsonResponse = new JavaScriptSerializer().DeserializeObject(responseFilesAsociados.Content); FilesAsociadosSRVResponse FileAsociadosSRVResponse = new FilesAsociadosSRVResponse(); FileAsociadosSRVResponse.id_oportunidad_sf = jsonResponse[OutParameter.SF_IdOportunidad]; FileAsociadosSRVResponse.codigo_error = jsonResponse[OutParameter.SF_CodigoError]; FileAsociadosSRVResponse.mensaje_error = jsonResponse[OutParameter.SF_MensajeError]; ListFileAsociadosSRVResponse.Add(FileAsociadosSRVResponse); /// Actualización de estado File Oportundad var operation = _fileSrvRetailRepository.Actualizar_EnvioCotRetail(FileAsociadosSRVResponse); Respuesta Rpta = new Respuesta(); Rpta.CodigoError = operation[OutParameter.CodigoError].ToString(); Rpta.MensajeError = operation[OutParameter.MensajeError].ToString(); Rpta.Numero_Afectados = operation[OutParameter.NumeroActualizados].ToString(); ListRpta.Add(Rpta); } } catch (Exception ex) { errorEnvio = ex.Message; } } return(Ok(ListFileAsociadosSRVResponse)); } catch (Exception ex) { errorEnvio = errorEnvio + " / " + ex.Message; return(InternalServerError(ex)); } finally { (new { Request = ListFilesAsociadosSRV, Response = ListFileAsociadosSRVResponse, Rpta = ListRpta, Exception = errorEnvio }).TryWriteLogObject(_logFileManager, _clientFeatures); } }