public async Task <HttpResponseMessage> AltaExcel() { var response = new HttpResponseMessage(); try { var req = await Request.Content.ReadAsMultipartAsync(); dynamic o = HttpContentToVariables(req).Result; int segment = 0; //validate Branches if (o.BranchesId == null || !Int32.TryParse(o.BranchesId, out segment)) { response.StatusCode = HttpStatusCode.BadRequest; response.Content = new StringContent("Debe enviar BranchesId"); return(response); } var segId = _context.Branch.FirstOrDefault(b => b.Id == segment); if (segId == null) { response.StatusCode = HttpStatusCode.BadRequest; response.Content = new StringContent("Debe enviar BranchesId valido"); return(response); } //validate startDate of alta DateTime startDate = new DateTime(); if (o.startDate == null || !DateTime.TryParse(o.startDate, out startDate)) { response.StatusCode = HttpStatusCode.BadRequest; response.Content = new StringContent("Debe enviar startDate"); return(response); } //validate endDate of alta DateTime endDate = new DateTime(); if (o.endDate == null || !DateTime.TryParse(o.endDate, out endDate)) { response.StatusCode = HttpStatusCode.BadRequest; response.Content = new StringContent("Debe enviar endDate"); return(response); } if (endDate < startDate) { response.StatusCode = HttpStatusCode.BadRequest; response.Content = new StringContent("La fecha de fin no puede ser menor a la fecha de inicio"); return(response); } var file = o.excelStream; var fileName = o.fileName; ContractExcel contractExcel = new ContractExcel(o.excelStream, _context, o.fileName, segId.Id, startDate: startDate, endDate: endDate, headerin: 3, sheets: 1); if (contractExcel.ValidateFile()) { string query = "update " + CustomSchema.Schema + ".\"TempAlta\" set \"State\"='CANCELED' where \"State\"='UPLOADED' and \"BranchesId\" = " + segId.Id; _context.Database.ExecuteSqlCommand(query); contractExcel.toDataBase(); response.StatusCode = HttpStatusCode.OK; response.Content = new StringContent("Se subio el archivo correctamente."); return(response); } return(contractExcel.toResponse()); } catch (System.ArgumentException e) { response.StatusCode = HttpStatusCode.BadRequest; response.Content = new StringContent("Por favor enviar un archivo en formato excel (.xls, .xslx)" + e); return(response); } }
public HttpResponseMessage getAltaExcelTemplate() { ContractExcel contractExcel = new ContractExcel(fileName: "AltaExcel_TH.xlsx", headerin: 3); return(contractExcel.getTemplate()); }