public IActionResult CrearEditarFactura(FacturaViewModel viewModel, IList <FacturaDetalleViewModel> detalle, IList <long> eliminadas, IList <CajaMovimientoViewModel> formaPago) { try { var factura = new TbFdFactura(); if (viewModel.Id != 0) { factura = map.Update(viewModel); viewModel.FacturaDetalle = detalle; if (detalle.Count() > 0) { var fd = map.CreateOrUpdateFD(viewModel); } var deleted = service.DeleteFacturaDetalle(eliminadas); } else { viewModel.FacturaDetalle = detalle; viewModel.IdUsuarioCreador = int.Parse(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value); viewModel.FechaCreacion = DateTime.Now; factura = map.Create(viewModel); } //valida factura tipo contado if (factura.Tipo == 1) { cajaMovMap.CreateCajaMovimiento(formaPago, movService.GetUltimoMovimientoPagoId(factura.Id)); } return(Json(new { success = true, idDoc = factura.Id })); } catch (Exception ex) { AltivaLog.Log.Insertar(ex.ToString(), "Error"); throw; } }
public TbFdFactura Update(TbFdFactura Factura) { return(repository.Update(Factura)); }
public TbFdFactura Save(TbFdFactura Factura) { return(repository.Save(Factura)); }
public TbFdFactura ViewModelToDomain(FacturaViewModel viewModel) { var domain = new TbFdFactura { Id = viewModel.Id, IdMoneda = viewModel.IdMoneda, IdCliente = viewModel.IdCliente, IdUsuarioCreador = viewModel.IdUsuarioCreador, Estado = viewModel.Estado, FechaCreacion = viewModel.FechaCreacion, FechaVencimiento = viewModel.FechaVencimiento, TipoCambioDolar = viewModel.TipoCambioDolar, TipoCambioEuro = viewModel.TipoCambioEuro, FechaFactura = viewModel.FechaFactura, IdVendedor = viewModel.IdVendedor, PorcDescuento = viewModel.PorcDescuento, Tipo = viewModel.Tipo, IdPuntoVenta = viewModel.IdPuntoVenta, Concecutivo = viewModel.Consecutivo, EnCola = viewModel.EnCola, TbFdFacturaDetalle = viewModel.FacturaDetalle != null?ViewModelToDomainFD(viewModel) : null }; if (viewModel.IdMoneda == 1) { domain.SubTotalBase = viewModel.SubTotal; domain.SubTotalDolar = domain.SubTotalBase / domain.TipoCambioDolar; domain.SubTotalEuro = domain.SubTotalBase / domain.TipoCambioEuro; domain.SubTotalExcentoBase = viewModel.SubTotalExcento; domain.SubTotalExcentoDolar = domain.SubTotalExcentoBase / domain.TipoCambioDolar; domain.SubTotalExcentoEuro = domain.SubTotalExcentoBase / domain.TipoCambioEuro; domain.SubTotalExcentoNetoBase = viewModel.SubTotalExcentoNeto; domain.SubTotalExcentoNetoDolar = domain.SubTotalExcentoNetoBase / domain.TipoCambioDolar; domain.SubTotalExcentoNetoEuro = domain.SubTotalExcentoNetoBase / domain.TipoCambioEuro; domain.SubTotalGravadoBase = viewModel.SubTotalGravado; domain.SubTotalGravadoDolar = domain.SubTotalGravadoBase / domain.TipoCambioDolar; domain.SubTotalGravadoEuro = domain.SubTotalGravadoBase / domain.TipoCambioEuro; domain.SubTotalGravadoNetoBase = viewModel.SubTotalGravadoNeto; domain.SubTotalGravadoNetoDolar = domain.SubTotalGravadoNetoBase / domain.TipoCambioDolar; domain.SubTotalGravadoNetoEuro = domain.SubTotalGravadoNetoBase / domain.TipoCambioEuro; domain.MontoIvabase = viewModel.MontoIva; domain.MontoIvadolar = domain.MontoIvabase / domain.TipoCambioDolar; domain.MontoIvaeuro = domain.MontoIvabase / domain.TipoCambioEuro; domain.MontoExoneracionBase = viewModel.MontoExoneracion; domain.MontoExoneracionDolar = domain.MontoExoneracionBase / domain.TipoCambioDolar; domain.MontoExoneracionEuro = domain.MontoExoneracionBase / domain.TipoCambioEuro; domain.TotalBase = viewModel.Total; domain.TotalDolar = domain.TotalBase / domain.TipoCambioDolar; domain.TotalEuro = domain.TotalBase / domain.TipoCambioEuro; domain.TotalDescuentoBase = viewModel.TotalDescuento; domain.TotalDescuentoDolar = domain.TotalDescuentoBase / domain.TipoCambioDolar; domain.TotalDescuentoEuro = domain.TotalDescuentoBase / domain.TipoCambioEuro; } else if (viewModel.IdMoneda == 2) { domain.SubTotalBase = viewModel.SubTotal * domain.TipoCambioDolar; domain.SubTotalDolar = viewModel.SubTotal; domain.SubTotalEuro = domain.SubTotalBase / domain.TipoCambioEuro; domain.SubTotalExcentoBase = viewModel.SubTotalExcento * domain.TipoCambioDolar; domain.SubTotalExcentoDolar = viewModel.SubTotalExcento; domain.SubTotalExcentoEuro = domain.SubTotalExcentoBase / domain.TipoCambioEuro; domain.SubTotalExcentoNetoBase = viewModel.SubTotalExcentoNeto * domain.TipoCambioDolar; domain.SubTotalExcentoNetoDolar = viewModel.SubTotalExcentoNeto; domain.SubTotalExcentoNetoEuro = domain.SubTotalExcentoNetoBase / domain.TipoCambioEuro; domain.SubTotalGravadoBase = viewModel.SubTotalGravado * domain.TipoCambioDolar; domain.SubTotalGravadoDolar = viewModel.SubTotalGravado; domain.SubTotalGravadoEuro = domain.SubTotalGravadoBase / domain.TipoCambioEuro; domain.SubTotalGravadoNetoBase = viewModel.SubTotalGravadoNeto * domain.TipoCambioDolar; domain.SubTotalGravadoNetoDolar = viewModel.SubTotalGravadoNeto; domain.SubTotalGravadoNetoEuro = domain.SubTotalGravadoNetoBase / domain.TipoCambioEuro; domain.MontoIvabase = viewModel.MontoIva * domain.TipoCambioDolar; domain.MontoIvadolar = viewModel.MontoIva; domain.MontoIvaeuro = domain.MontoIvabase / domain.TipoCambioEuro; domain.MontoExoneracionBase = viewModel.MontoExoneracion * domain.TipoCambioDolar; domain.MontoExoneracionDolar = viewModel.MontoExoneracion; domain.MontoExoneracionEuro = domain.MontoExoneracionBase / domain.TipoCambioEuro; domain.TotalBase = viewModel.Total * domain.TipoCambioDolar; domain.TotalDolar = viewModel.Total; domain.TotalEuro = domain.TotalBase / domain.TipoCambioEuro; domain.TotalDescuentoBase = viewModel.TotalDescuento * domain.TipoCambioDolar; domain.TotalDescuentoDolar = viewModel.TotalDescuento; domain.TotalDescuentoEuro = domain.TotalDescuentoBase / domain.TipoCambioEuro; } else if (viewModel.IdMoneda == 3) { domain.SubTotalBase = viewModel.SubTotal * domain.TipoCambioEuro; domain.SubTotalDolar = domain.SubTotalBase / domain.TipoCambioDolar; domain.SubTotalEuro = viewModel.SubTotal; domain.SubTotalExcentoBase = viewModel.SubTotalExcento * domain.TipoCambioEuro; domain.SubTotalExcentoDolar = domain.SubTotalExcentoBase / domain.TipoCambioDolar; domain.SubTotalExcentoEuro = viewModel.SubTotalExcento; domain.SubTotalExcentoNetoBase = viewModel.SubTotalExcentoNeto * domain.TipoCambioEuro; domain.SubTotalExcentoNetoDolar = domain.SubTotalExcentoNetoBase / domain.TipoCambioDolar; domain.SubTotalExcentoNetoEuro = viewModel.SubTotalExcentoNeto; domain.SubTotalGravadoBase = viewModel.SubTotalGravado * domain.TipoCambioEuro; domain.SubTotalGravadoDolar = domain.SubTotalGravadoBase / domain.TipoCambioDolar; domain.SubTotalGravadoEuro = viewModel.SubTotalGravado; domain.SubTotalGravadoNetoBase = viewModel.SubTotalGravadoNeto * domain.TipoCambioEuro; domain.SubTotalGravadoNetoDolar = domain.SubTotalGravadoNetoBase / domain.TipoCambioDolar; domain.SubTotalGravadoNetoEuro = viewModel.SubTotalGravadoNeto; domain.MontoIvabase = viewModel.MontoIva * domain.TipoCambioEuro; domain.MontoIvadolar = domain.MontoIvabase / domain.TipoCambioDolar; domain.MontoIvaeuro = viewModel.MontoIva; domain.TotalBase = viewModel.MontoExoneracion * domain.TipoCambioEuro; domain.TotalDolar = domain.MontoExoneracionBase / domain.TipoCambioDolar; domain.TotalEuro = viewModel.MontoExoneracion; domain.TotalBase = viewModel.Total * domain.TipoCambioEuro; domain.TotalDolar = domain.TotalBase / domain.TipoCambioDolar; domain.TotalEuro = viewModel.Total; domain.TotalDescuentoBase = viewModel.TotalDescuento * domain.TipoCambioEuro; domain.TotalDescuentoDolar = domain.TotalDescuentoBase / domain.TipoCambioDolar; domain.TotalDescuentoEuro = viewModel.TotalDescuento; } return(domain); }
public FacturaViewModel DomainToViewModel(TbFdFactura domain) { var viewModel = new FacturaViewModel { Estado = domain.Estado, FechaFactura = domain.FechaFactura, Id = domain.Id, IdMoneda = domain.IdMoneda, IdCliente = domain.IdCliente, IdUsuarioCreador = domain.IdUsuarioCreador, TipoCambioDolar = domain.TipoCambioDolar, TipoCambioEuro = domain.TipoCambioEuro, FechaCreacion = domain.FechaCreacion, FechaVencimiento = domain.FechaVencimiento, IdVendedor = domain.IdVendedor, PorcDescuento = domain.PorcDescuento, Tipo = domain.Tipo, IdPuntoVenta = domain.IdPuntoVenta, Consecutivo = domain.Concecutivo, EnCola = domain.EnCola }; if (domain.IdMoneda == 1) { viewModel.SubTotalExcento = domain.SubTotalExcentoBase; viewModel.SubTotalGravado = domain.SubTotalGravadoBase; viewModel.Total = domain.TotalBase; viewModel.MontoIva = domain.MontoIvabase; viewModel.MontoExoneracion = domain.MontoExoneracionBase; viewModel.TotalDescuento = domain.TotalDescuentoBase; viewModel.SubTotalExcentoNeto = domain.SubTotalExcentoNetoBase; viewModel.SubTotalGravadoNeto = domain.SubTotalGravadoNetoBase; viewModel.SubTotal = domain.SubTotalBase; } else if (domain.IdMoneda == 2) { viewModel.SubTotalExcento = domain.SubTotalExcentoDolar; viewModel.SubTotalGravado = domain.SubTotalGravadoDolar; viewModel.Total = domain.TotalDolar; viewModel.MontoIva = domain.MontoIvadolar; viewModel.MontoExoneracion = domain.MontoExoneracionDolar; viewModel.TotalDescuento = domain.TotalDescuentoDolar; viewModel.SubTotalExcentoNeto = domain.SubTotalExcentoNetoDolar; viewModel.SubTotalGravadoNeto = domain.SubTotalGravadoNetoDolar; viewModel.SubTotal = domain.SubTotalDolar; } else if (domain.IdMoneda == 3) { viewModel.SubTotalExcento = domain.SubTotalExcentoEuro; viewModel.SubTotalGravado = domain.SubTotalGravadoEuro; viewModel.Total = domain.TotalEuro; viewModel.MontoIva = domain.MontoIvaeuro; viewModel.MontoExoneracion = domain.MontoExoneracionEuro; viewModel.TotalDescuento = domain.TotalDescuentoEuro; viewModel.SubTotalExcentoNeto = domain.SubTotalExcentoNetoEuro; viewModel.SubTotalGravadoNeto = domain.SubTotalGravadoNetoEuro; viewModel.SubTotal = domain.SubTotalEuro; } return(viewModel); }