Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions src/sw-sdk/Entities/IResponseHandler.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SW.Entities;
using System;
using System.Net;
using System.Text;

namespace SW
{
internal interface IResponseHandler
{
SW.Entities.Response GetResponse(WebRequest request);
SW.Entities.Response HandleException(Exception ex);
Response GetResponse(WebRequest request);
Response HandleException(Exception ex);
}
}
71 changes: 71 additions & 0 deletions src/sw-sdk/Helpers/DowloadFile.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@

using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Xml;
using SW.Services.Stamp;

namespace SW.Helpers
{
static internal class DowloadFile
{
public static async Task<StampResponseV2> DowloadFileAsync(string url, HttpClientHandler proxy)
{
try
{
using (HttpClient client = new HttpClient(proxy))
{
var result = await client.GetAsync(url);
return await TryGetFileAsync(result);
}
}
catch (HttpRequestException wex)
{
return new StampResponseV2()
{
message = wex.Message,
status = "error",
messageDetail = wex.StackTrace
};
}
}

internal static async Task<StampResponseV2> TryGetFileAsync(HttpResponseMessage response)
{
try
{
if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.BadRequest)
{
return new StampResponseV2
{
data = new Data_CFDI_TFD
{
cfdi = await response.Content.ReadAsStringAsync(),
tfd = null
},
status = "error"
};
}
else
return new StampResponseV2()
{
message = ((int)response.StatusCode).ToString(),
status = "error",
messageDetail = response.ReasonPhrase
};
}
catch (Exception)
{
return new StampResponseV2()
{
message = ((int)response.StatusCode).ToString(),
status = "error",
messageDetail = response.ReasonPhrase
};
}
}
}
}
7 changes: 1 addition & 6 deletions src/sw-sdk/Helpers/EnumAcceptReject.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SW.Helpers
namespace SW.Helpers
{
public enum EnumAcceptReject
{
Expand Down
7 changes: 0 additions & 7 deletions src/sw-sdk/Helpers/RequestHelper.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;

namespace SW.Helpers
{
Expand Down Expand Up @@ -51,10 +48,6 @@ internal static void AddFileToRequest(byte[] file, ref HttpWebRequest request)
var endBoundaryBytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" +
boundary + "--");


string formdataTemplate = "\r\n--" + boundary +
"\r\nContent-Disposition: form-data; name=\"{0}\";\r\n\r\n{1}";

string headerTemplate =
"Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\n" +
"Content-Type: application/octet-stream\r\n\r\n";
Expand Down
146 changes: 3 additions & 143 deletions src/sw-sdk/Helpers/ResponseHelper.cs
Original file line number Diff line number Diff line change
@@ -1,90 +1,13 @@
using SW.Services.AcceptReject;
using SW.Services.Account;
using SW.Services.Authentication;
using SW.Services.Cancelation;
using SW.Services.Csd;
using SW.Services.Pdf;
using SW.Services.Pendings;
using SW.Services.Relations;
using SW.Services.Stamp;
using SW.Services.Storage;
using SW.Services.Validate;
using sw_sdk.Services.Resend;
using SW.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SW.Helpers
{
internal static class ResponseHelper
{
internal static AuthResponse ToAuthResponse(this Exception ex)
internal static T Response<T>(this Exception ex) where T : Response, new()
{
return new AuthResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static AccountResponse ToAccountResponse(this Exception ex)
{
return new AccountResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static CancelationResponse ToCancelationResponse(this Exception ex)
{
return new CancelationResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static StampResponseV1 ToStampResponseV1(this Exception ex)
{
return new StampResponseV1()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static StampResponseV2 ToStampResponseV2(this Exception ex)
{
return new StampResponseV2()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static StampResponseV3 ToStampResponseV3(this Exception ex)
{
return new StampResponseV3()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static StampResponseV4 ToStampResponseV4(this Exception ex)
{
return new StampResponseV4()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static ValidateXmlResponse ToValidateXmlResponse(this Exception ex)
{
return new ValidateXmlResponse()
return new T()
{
message = ex.Message,
status = "error",
Expand All @@ -98,68 +21,5 @@ internal static string GetErrorDetail(this Exception ex)
else
return "";
}
internal static AcceptRejectResponse ToAcceptRejectResponse(this Exception ex)
{
return new AcceptRejectResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static RelationsResponse ToRelationsResponse(this Exception ex)
{
return new RelationsResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static PendingsResponse ToPendingsResponse(this Exception ex)
{
return new PendingsResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static PdfResponse ToPdfResponse(this Exception ex)
{
return new PdfResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static ResendResponse ToResendResponse(this Exception ex)
{
return new ResendResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static UploadCsdResponse ToCargaCsdResponse(this Exception ex)
{
return new UploadCsdResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
internal static StorageResponse ToStorageResponse(this Exception ex)
{
return new StorageResponse()
{
message = ex.Message,
status = "error",
messageDetail = ex.GetErrorDetail()
};
}
}
}
6 changes: 1 addition & 5 deletions src/sw-sdk/Helpers/StreamUtil.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.IO;

namespace SW.Helpers
{
Expand Down
4 changes: 1 addition & 3 deletions src/sw-sdk/Helpers/Validation.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using System.Net;

namespace SW.Helpers
namespace SW.Helpers
{
public class Validation
{
Expand Down
16 changes: 14 additions & 2 deletions src/sw-sdk/Helpers/XmlUtils.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace SW.Helpers
{
public static class XmlUtils
{
internal static string GetUUIDFromTFD(string tfd)
{
try
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(tfd);
return doc.DocumentElement.Attributes.GetNamedItem("UUID").Value;
}
catch (Exception)
{
throw new ServicesException("No es posible obtener el UUID");
}
}

public static string AddAddenda(string cfdiOriginal, string cfdiStamped,bool isb64)
{
string cfdi = cfdiStamped;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ internal class AcceptRejectResponseHandler : ResponseHandler<AcceptRejectRespons
{
public override AcceptRejectResponse HandleException(Exception ex)
{
return ex.ToAcceptRejectResponse();
return ex.Response<AcceptRejectResponse>();
}
}
}
2 changes: 1 addition & 1 deletion src/sw-sdk/Services/Account/AccountResponseHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ internal class BalanceAccountResponseHandler : ResponseHandler<AccountResponse>
{
public override AccountResponse HandleException(Exception ex)
{
return ex.ToAccountResponse();
return ex.Response<AccountResponse>();
}
}
}
2 changes: 1 addition & 1 deletion src/sw-sdk/Services/Authentication/Authentication.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public override async System.Threading.Tasks.Task<AuthResponse> GetTokenAsync()

}
catch (Exception e)
{
{
return _handler.HandleException(e);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ internal class AuthenticationResponseHandler : ResponseHandler<AuthResponse>
{
public override AuthResponse HandleException(Exception ex)
{
return ex.ToAuthResponse();
return ex.Response<AuthResponse>();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ internal class CancelationResponseHandler : ResponseHandler<CancelationResponse>
{
public override CancelationResponse HandleException(Exception ex)
{
return ex.ToCancelationResponse();
return ex.Response<CancelationResponse>();
}
}
}
2 changes: 1 addition & 1 deletion src/sw-sdk/Services/Csd/CsdResponseHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ internal class CsdResponseHandler : ResponseHandler<UploadCsdResponse>
{
public override UploadCsdResponse HandleException(Exception ex)
{
return ex.ToCargaCsdResponse();
return ex.Response<UploadCsdResponse>();
}
}
}
2 changes: 1 addition & 1 deletion src/sw-sdk/Services/Pdf/PdfResponseHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ internal class PdfResponseHandler : ResponseHandler<PdfResponse>
{
public override PdfResponse HandleException(Exception ex)
{
return ex.ToPdfResponse();
return ex.Response<PdfResponse>();
}
}
}
Loading