コード例 #1
0
        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;
            }
        }
コード例 #2
0
 public TbFdFactura Update(TbFdFactura Factura)
 {
     return(repository.Update(Factura));
 }
コード例 #3
0
 public TbFdFactura Save(TbFdFactura Factura)
 {
     return(repository.Save(Factura));
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }