public ServiceResult <Factura> Save(Factura factura, List <string> valesFolio) { var result = new ServiceResult <Factura>(); try { if (valesFolio.Count > 0) //deben haber vales para generar una facturass { factura.Vales = new List <Vale>(); foreach (string folio in valesFolio) { Vale v = _valeRepository.GetByFolio(folio); if (v.FacturaFolioFactura != null) //Solo para las que no esten facturadas { continue; } v.FacturaFolioFactura = factura.FolioFactura; factura.Vales.Add(v); _valeRepository.Update(v); } factura.Monto = factura.montoTotal(); _facturaRepository.Insert(factura); //Se registra la factura var affectedRows = _context.SaveChanges(); if (affectedRows == 0) { //Hubo un pex result.isSuccess = false; result.Errors = new List <string>(); result.Errors.Add("No se pudo guardar la factura"); return(result); } else { result.isSuccess = true; result.Result = factura; return(result); } } result.isSuccess = false; result.Errors = new List <string>(); result.Errors.Add("No se pudo guardar porque no hay vales."); return(result); } catch (Exception ex) { result.isSuccess = false; result.Errors = new List <string>(); result.Errors.Add(ex.ToString()); return(result); } }
public IActionResult Modificar([FromBody] ValeDto model) //Dto { try{ Vale emp = _mapper.Map <Vale>(model); //var emp = new Empleado{Nombre = model.Nombre, Tipo = model.Tipo, NumeroContacto = model.NumeroContacto}; ValeRepository.Update(emp); _context.SaveChanges(); var bugToResponse = _mapper.Map <ValeDto>(emp); return(Ok(bugToResponse)); } catch (Exception ex) { var errorResponse = new ManagedErrorResponse(ManagedErrorCode.Exception, "hay errores", ex); return(BadRequest(errorResponse)); } }