internal static bool Validate(IRequest request, IResponse response) { var done = false; if (request == null) { response.ConfigureNullRequest(1410); } else if (string.IsNullOrWhiteSpace(request.UserID)) { response.Configure(Codes.BadRequest, "Favor de especificar el Usuario que realiza la solicitud.", 1412); } else if (!Validators.IsGuid(request.Token)) { response.Configure(Codes.BadRequest, "Favor de especificar el Token en el formato solicitado.", 1414); } else if (string.IsNullOrWhiteSpace(request.Signature) || request.Signature.Length != 40) { response.Configure(Codes.BadRequest, "Favor de especificar el la Firma Electrónica en el formato especificado.", 1416); } else { done = true; } return(done); }
/// <summary> /// Verifica la integridad de una solicitud del tipo RequestObject /// </summary> /// <param name="request"></param> /// <param name="response"></param> /// <returns></returns> public static bool IsValid <T>(RequestObject <T> request, IResponse response) { var done = false; if (RequestsExtensions.Validate(request, response)) { if (request.Content == null) { response.Configure(Codes.BadRequest, "Favor de especificar el contenido de la solicitud.", 1418); } else { done = true; } } return(done); }
public static bool TranValidate(string data, IResponse response, out object[][] result) { var done = false; byte[] fileData = null; result = null; try { var content = data.Split(new string[] { "base64," }, StringSplitOptions.None)[1]; fileData = Convert.FromBase64String(content); } catch (Exception ex) { response.ConfigureAndLog("Ha ocurrido un error al realizar la lectura de un documento.", 1100, ex); } if (fileData != null) { using (var ms = new MemoryStream(fileData)) { using (var doc = SpreadsheetDocument.Open(ms, false)) { var sheetsList = doc.WorkbookPart.Workbook.Sheets; var sharedStringTable = doc.WorkbookPart.GetPartsOfType <SharedStringTablePart>().First().SharedStringTable; if (sheetsList.Count() == 1) { var rowList = new List <object[]>(); var sheetData = doc.WorkbookPart.WorksheetParts.First().Worksheet.Elements <SheetData>().First(); foreach (var row in sheetData.Elements <Row>()) { var valueList = new List <object>(); foreach (var cell in row.Elements <Cell>()) { object value = null; if (cell.DataType != null) { if (cell.DataType == CellValues.SharedString) { int ssid = int.Parse(cell.CellValue.Text); value = sharedStringTable.ChildElements[ssid].InnerText; } else { value = cell.CellValue?.Text; } } else { value = cell.CellValue?.Text; } valueList.Add(value); } System.Diagnostics.Debug.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(valueList.ToArray())); rowList.Add(valueList.ToArray()); } result = rowList.ToArray(); done = true; } else { response.Configure(Codes.BadRequest, "El documento contiene cero o más de una pestaña.", 1110); } } } } return(done); }
public static void ConfigureUnauthorized(this IResponse sender, int errorNumber) { sender.Configure(Codes.Unauthorized, "No se han especificado las credenciales de la solicitud o son inválidos.", errorNumber); }
public static void ConfigureAndLog(this IResponse sender, string message, int?errorNumber, Exception ex) { sender.Configure(Codes.InternalServerError, message, errorNumber); Diagnostics.OnError(new Exception(sender.Message, ex)); }
public static void ConfigureTranCommitFailure(this IResponse sender) { sender.Configure(Codes.InternalServerError, "Ha ocurrido un error al confirmar la operación con la capa de datos.", 1503); }
public static void ConfigureConnectionFailure(this IResponse sender) { sender.Configure(Codes.ServiceUnavailable, "Ha ocurrido un error al conectar con la capa de datos.", 1501); }
public static void ConfigureNullAuthorID(this IResponse sender, int errorNumber) { sender.Configure(Codes.BadRequest, "No se ha especificado el ID del usuario que realiza la operación o es inválido.", errorNumber); }
public static void ConfigureNullContent(this IResponse sender, int errorNumber) { sender.Configure(Codes.BadRequest, "No se han especificado el contenido de la solicitud o es inválida.", errorNumber); }
public static void ConfigureNullRequest(this IResponse sender, int errorNumber) { sender.Configure(Codes.BadRequest, "No se han especificado los parametros requeridos para realizar la operación o son inválidos.", errorNumber); }