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);
            }
        }
Esempio n. 2
0
        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));
            }
        }