public IHttpActionResult ConciliacionManual([FromBody] ConciliacionModel details) { var control = details.PartidasConciliar.Count; if (control > 0) { var userName = User.Identity.GetUserId(); service.ConciliacionManual(details.PartidasConciliar, userName); return(Ok()); } else { return(BadRequest("Debe seleccionar partidas a conciliar.")); } }
//LEO EL ARCHIVO CSV Y LO CARGO A LA TABLA public void leerCSV(string path, int idRecepcion) { try { ConciliacionModel modelo = new ConciliacionModel(); List <Conciliacion> data = new List <Conciliacion>(); using (StreamReader readFile = new StreamReader(path)) { string line; string[] row; while ((line = readFile.ReadLine()) != null) { row = line.Split(';'); int clave = modelo.getConsecutivo(); for (int i = 0; i < row.Length; i++) { Conciliacion registro = new Conciliacion(); registro.campo = row[i]; registro.fechaCargue = DateTime.Now; registro.idRecepcion = idRecepcion; registro.orden = i + 1; registro.consecutivo = clave; data.Add(registro); } } } modeloConciliacion.insertMultiple(data); } catch (Exception exception) { LogRepository.registro("Error en RecepcionController metodo leerCSV " + exception.Message); throw; } //return parsedData; }
//VALIDO LO CAPTURADO CONTRA LA CONCILIACION QUE SE CAPTURO EN LA RECEPCION CON LA CARGA DEL ARCHIVO public bool ValidaConciliacion(List <Captura> lstCaptura, int NegId, int gruDocConciliacion, int sw_concilia) { bool respuesta = false; try { this.gd = new GestorDocumentalEnt(); //OBTENGO EN ID QUE RECEPCIONO ESE NEGOCIO int idRecepcion = (int)gd.CargueLotes.First(c => c.NegId == NegId).idRecepcion; //GENERO LOS CODIGOS EN LA BD //genero los codigos de conciliacion para esa recepcion gd.spCodigosConcilia(idRecepcion, gruDocConciliacion); string codigoCaptura = ""; List <Conciliacion> dataCapturada = new List <Conciliacion>(); ConciliacionModel modeloConciliacion = new ConciliacionModel(); int i = 1; foreach (Captura captura in lstCaptura) { codigoCaptura += captura.NegValor.Trim().Replace(" ", ""); Conciliacion noConcilia = new Conciliacion(); noConcilia.campo = captura.NegValor; noConcilia.orden = i; noConcilia.idRecepcion = idRecepcion; noConcilia.conciliado = false; noConcilia.negId = NegId; noConcilia.fechaCargue = DateTime.Now; dataCapturada.Add(noConcilia); i = i + 1; } //ordeno el string del codigo de la captura codigoCaptura = SortStringChars(codigoCaptura); //busco ese codigo en la tabla int total = gd.Conciliacion.Count(c => c.combinacion == codigoCaptura && c.idRecepcion == idRecepcion && c.conciliado == null); Conciliacion concilia = null; if (total > 0) { concilia = gd.Conciliacion.First(c => c.combinacion == codigoCaptura && c.idRecepcion == idRecepcion && c.conciliado == null); } if (concilia == null) { if (sw_concilia == 0) { modeloConciliacion.insertMultiple(dataCapturada); } respuesta = false; } else { gd.spActualizaConcilia(concilia.consecutivo, NegId, idRecepcion); respuesta = true; } return(respuesta); } catch (Exception exception) { LogRepository.registro("Error en CapturaController metodo ValidaConciliacion " + exception.Message + " stack trace " + exception.StackTrace); return(false); throw exception; } }