Esempio n. 1
0
        public static List <VentaPuntoVentaDTO> ObtenerTickets(FacturacionModel model)
        {
            AgenteServicio _agente = new AgenteServicio();

            _agente.ListaTickets(model);
            return(_agente._ListaVenta);
        }
Esempio n. 2
0
        public static RespuestaDTO GenerarFacturas(FacturacionModel model)
        {
            AgenteServicio _agente = new AgenteServicio();
            var            cfdis   = AdaptarFacturaModelo(model);

            _agente.PostRegistrarCFDILst(cfdis);
            return(_agente._RespuestaDTO);
        }
Esempio n. 3
0
        public bool InsertarCompra(FacturacionModel compra, List <ArticuloFactura> af)
        {
            bool succes = true;

            succes = data.InsertarCompra(compra);
            if (succes)
            {
                succes = data.InsertarArticulosPorFaturas(af, compra.FacturacionId);
            }
            return(succes);
        }
Esempio n. 4
0
        public ActionResult ContinuarGenerarFactura()
        {
            FacturacionModel          fac  = (FacturacionModel)TempData["FacturacionModel"];
            List <VentaPuntoVentaDTO> tiks = (List <VentaPuntoVentaDTO>)TempData["List<VentaPuntoVentaDTO>"];

            TempData["FacturacionModel"]         = fac;
            TempData["List<VentaPuntoVentaDTO>"] = tiks;

            ViewBag.ListaUsosCFDI   = CatalogoServicio.ObtenerUsoCFDI();
            ViewBag.ListaFormasPago = CatalogoServicio.ListaFormaPago();

            return(View("DatosCFDI", fac));
        }
Esempio n. 5
0
        public ActionResult DatosCliente(FacturacionModel _mod)
        {
            if (TempData["RespuestaDTO"] != null)
            {
                var Respuesta = (RespuestaDTO)TempData["RespuestaDTO"];
                if (Respuesta.Exito)
                {
                    ViewBag.Msj = Respuesta.Mensaje;
                }
                else
                {
                    ViewBag.MensajeError = Validar(Respuesta);
                }
            }
            //verificar si las facturas agregadas pertenecen al mismo cliente
            var idCliente = _mod.Tickets[0].IdCliente;

            foreach (var tick in _mod.Tickets.Where(x => x.seleccionar).ToList())
            {
                if (tick.IdCliente != idCliente)
                {
                    TempData["RespuestaDTO"] = new RespuestaDTO()
                    {
                        Exito = false, MensajesError = new List <string>()
                        {
                            "Los tickets no pertenecer al mismo cliente."
                        }
                    };
                    return(RedirectToAction("Index", _mod));
                }
            }
            ViewBag.EsGenerico = "false";
            ClientesModel Cliente = CatalogoServicio.ObtenerCliente(idCliente);

            if (Cliente.Rfc.Equals("XAXX010101000"))
            {
                ViewBag.EsGenerico = "true";
                Cliente            = new ClientesModel();
            }
            TempData["FacturacionModel"]         = _mod;
            TempData["List<VentaPuntoVentaDTO>"] = _mod.Tickets;
            ViewBag.Paises      = CatalogoServicio.GetPaises();
            ViewBag.Estados     = CatalogoServicio.GetEstados();
            ViewBag.TipoPersona = CatalogoServicio.ObtenerTiposPersona();
            ViewBag.Regimen     = CatalogoServicio.ObtenerRegimenFiscal();
            if (Cliente.Locaciones != null && Cliente.Locaciones.Count > 0)
            {
                Cliente.Locacion = Cliente.Locaciones[0];
            }
            return(View("Facturar", Cliente));
        }
Esempio n. 6
0
        public bool InsertarCompra(FacturacionModel compra)
        {
            bool succes = true;

            using (var cn = GetConnection())
            {
                cn.Open();
                using (var comm = new SqlCommand())
                {
                    comm.Connection  = cn;
                    comm.CommandText = @"INSERT INTO dbo.Facturacion(FacturacionId, VendedorId, ClienteId, Fecha, TipoPago, 
                                                                     AbonoInicial, Descuento, TotalPago, FrecuenciaId, Creado, 
                                                                     Modificado, Dias, SaldoPendiente, Observaciones)
                                         VALUES(@FacturacionId, @VendedorId, @ClienteId, @Fecha, @TipoPago, 
                                                CASE WHEN @TipoPago = 1 THEN @AbonoInicial ELSE @TotalPago END, @Descuento, @TotalPago, @FrecuenciaId, GETDATE(), 
                                                GETDATE(), 0, 0, @Observaciones)
                                         
                                         UPDATE dbo.Facturacion
                                         SET SaldoPendiente = CASE WHEN TipoPago = 1 THEN TotalPago - AbonoInicial ELSE 0 END
                                         WHERE FacturacionId = @FacturacionId
                                         
                                         INSERT INTO dbo.Abono(AbonoId, Abono, Codigo, FacturacionId, Fecha, Observacion, Creado, Modificado)
                                         VALUES(NEWID(), CASE WHEN @TipoPago = 1 THEN @AbonoInicial ELSE @TotalPago END, @CodigoFactura,
                                                @FacturacionId, @Fecha, 'Abono Inical', GETDATE(), GETDATE())";
                    try
                    {
                        comm.Parameters.AddWithValue("@FacturacionId", compra.FacturacionId);
                        comm.Parameters.AddWithValue("@CodigoFactura", compra.Codigo);
                        comm.Parameters.AddWithValue("@VendedorId", compra.VendedorId);
                        comm.Parameters.AddWithValue("@ClienteId", compra.ClienteId);
                        comm.Parameters.AddWithValue("@Fecha", compra.Fecha);
                        comm.Parameters.AddWithValue("@TipoPago", compra.TipoPago);
                        comm.Parameters.AddWithValue("@AbonoInicial", compra.AbonoInicial);
                        comm.Parameters.AddWithValue("@Descuento", compra.Descuento);
                        comm.Parameters.AddWithValue("@TotalPago", compra.TotalPago);
                        comm.Parameters.AddWithValue("@FrecuenciaId", compra.FrecuenciaId);
                        comm.Parameters.AddWithValue("@Observaciones", compra.Observaciones);


                        comm.CommandType = CommandType.Text;
                        comm.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        succes = false;
                    }
                }
            }

            return(succes);
        }
Esempio n. 7
0
        public ActionResult GuardaEdicionCliente(ClientesModel _Obj)
        {
            var respuesta = CatalogoServicio.ModificarCliente(_Obj);

            TempData["RespuestaDTO"] = respuesta;

            FacturacionModel          fac  = (FacturacionModel)TempData["FacturacionModel"];
            List <VentaPuntoVentaDTO> tiks = (List <VentaPuntoVentaDTO>)TempData["List<VentaPuntoVentaDTO>"];

            TempData["FacturacionModel"]         = fac;
            TempData["List<VentaPuntoVentaDTO>"] = tiks;

            return(RedirectToAction("Facturar", fac));
        }
Esempio n. 8
0
        private void btnguardar_Click(object sender, EventArgs e)
        {
            CompraController comprac     = new CompraController();
            FacturacionModel facturacion = new FacturacionModel();
            DataRowView      drfrecuenca = cbmodopago.SelectedItem as DataRowView;

            facturacion.Codigo   = txtcodigo.Text;
            facturacion.TipoPago = rbcredito.Checked == true ? 1 : 2;
            facturacion.Fecha    = (DateTime)dpfecha.Value;

            if (ValidarInsertarCompras())
            {
                facturacion.ClienteId    = new Guid(clienteId);
                facturacion.VendedorId   = new Guid(vendedorId);
                facturacion.FrecuenciaId = (int)drfrecuenca.Row.ItemArray[0];
                if (txtabonoinicial.Text != "")
                {
                    facturacion.AbonoInicial = Convert.ToDecimal(txtabonoinicial.Text);
                }
                facturacion.Observaciones = txtobservaciones.Text;
                facturacion.TotalPago     = totalcompra;
                facturacion.Descuento     = totaldescuento;
                facturacion.FacturacionId = Guid.NewGuid();

                comprac.InsertarCompra(facturacion, af);
                LimpiarCampos();
                ObtenerProductos();
                dataGridView2.Rows.Clear();
                dataGridView2.Refresh();
            }
            else
            {
                if (rbcredito.Checked)
                {
                    MessageBox.Show("Los siguientes campos son requeridos \n" +
                                    "* Codigo Facturacion \n" +
                                    "* Cliente \n" +
                                    "* Vendedor \n" +
                                    "* Abono inicial \n" +
                                    "* Modo de pago \n");
                }
                else
                {
                    MessageBox.Show("Los siguientes campos son requeridos \n" +
                                    "* Codigo Facturacion \n" +
                                    "* Cliente \n" +
                                    "* Vendedor \n");
                }
            }
        }
Esempio n. 9
0
        public ActionResult GuardarNuevoCliente(ClientesModel _ojUs)
        {
            var respuesta = CatalogoServicio.CrearCliente(_ojUs);

            TempData["RespuestaDTO"] = respuesta;

            FacturacionModel          fac  = (FacturacionModel)TempData["FacturacionModel"];
            List <VentaPuntoVentaDTO> tiks = (List <VentaPuntoVentaDTO>)TempData["List<VentaPuntoVentaDTO>"];

            fac.Tickets = tiks;
            TempData["FacturacionModel"]         = fac;
            TempData["List<VentaPuntoVentaDTO>"] = tiks;

            return(RedirectToAction("Facturar", fac));
        }
Esempio n. 10
0
        public ActionResult Facturar(FacturacionModel _mod)
        {
            FacturacionModel          fac  = (FacturacionModel)TempData["FacturacionModel"];
            List <VentaPuntoVentaDTO> tiks = (List <VentaPuntoVentaDTO>)TempData["List<VentaPuntoVentaDTO>"];

            fac.IdUsoCFDI   = _mod.IdUsoCFDI;
            fac.IdFormaPago = _mod.IdFormaPago;
            fac.Tickets     = tiks;
            TempData["FacturacionModel"]         = fac;
            TempData["List<VentaPuntoVentaDTO>"] = tiks;

            TempData["RespuestaDTO"] = FacturacionServicio.GenerarFacturas(fac);

            return(RedirectToAction("Index", _mod));
        }
Esempio n. 11
0
        private static List <CFDIDTO> AdaptarFacturaModelo(FacturacionModel model)
        {
            List <CFDIDTO> cfdis = new List <CFDIDTO>();

            foreach (var ticket in model.Tickets)
            {
                CFDIDTO cfdi = new CFDIDTO();
                cfdi.Id_FolioVenta = ticket.FolioVenta;
                cfdi.Id_MetodoPago = 0;
                cfdi.Id_FormaPago  = (byte)model.IdFormaPago;
                cfdi.IdUsoCFDI     = model.IdUsoCFDI;
                cfdis.Add(cfdi);
            }
            return(cfdis);
        }
Esempio n. 12
0
        public static List <CFDIDTO> ObtenerCFDIs(FacturacionModel model)
        {
            AgenteServicio _agente = new AgenteServicio();

            if (string.IsNullOrEmpty(model.Ticket))
            {
                _agente.ListaCFDIs(model);
                return(_agente._ListaCFDIs);
            }
            else
            {
                _agente.BuscarCFDI(model.Ticket);
                return(new List <CFDIDTO>()
                {
                    _agente._CFDIDTO
                });
            }
        }
Esempio n. 13
0
        public ActionResult Buscar(FacturacionModel _mod)
        {
            if (_mod.Tickets == null)
            {
                _mod.Tickets = new List <VentaPuntoVentaDTO>();
            }
            var NuevaBusqueda = new List <VentaPuntoVentaDTO>();

            if (!string.IsNullOrEmpty(_mod.Ticket))
            {
                NuevaBusqueda.Add(FacturacionServicio.ObtenerTicket(_mod.Ticket));
            }
            else
            {
                NuevaBusqueda.AddRange(FacturacionServicio.ObtenerTickets(_mod));
            }

            _mod.Tickets             = FacturacionServicio.DescartarRepetidos(NuevaBusqueda, _mod.Tickets);
            TempData["ListaTickets"] = _mod.Tickets;
            return(RedirectToAction("Index", _mod));
        }
Esempio n. 14
0
 //string _tkn = string.Empty;
 // GET: Facturacion
 public ActionResult Index(FacturacionModel model = null)
 {
     if (TempData["ListaTickets"] != null)
     {
         model.Tickets = (List <VentaPuntoVentaDTO>)TempData["ListaTickets"];
     }
     if (model.IdCliente != 0 || model.RFC != null || model.Ticket != null)
     {
         ViewBag.CFDIs = FacturacionServicio.ObtenerCFDIs(model);
     }
     if (TempData["RespuestaDTO"] != null)
     {
         var Respuesta = (RespuestaDTO)TempData["RespuestaDTO"];
         if (Respuesta.Exito)
         {
             ViewBag.Msj = Respuesta.Mensaje;
         }
         else
         {
             ViewBag.MensajeError = Validar(Respuesta);
         }
     }
     return(View(model));
 }
Esempio n. 15
0
        public ActionResult Facturacion()
        {
            Session[Constantes.Session.Empresa] = 1;
            var _CatalogosData = new CatalogosData();

            if (Session[Constantes.Session.Empresa] == null)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener la empresa seleccionada.";
                return(View("_InfoMensaje"));
            }

            int IdEmpresa = Convert.ToInt32(Session[Constantes.Session.Empresa]);

            ViewBag.Empresa = Convert.ToInt32(Session[Constantes.Session.Empresa]);

            var response = new FacturacionModel();

            #region Clientes
            var clientes = new ClienteData().ObtenerClientes(0, IdEmpresa, 1);

            if (clientes.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener los clientes activos. Error: " + clientes.Message;
                return(View("_InfoMensaje"));
            }
            response.ctClientes = clientes.Result;
            #endregion

            #region ctMoneda
            var Moneda = _CatalogosData.ObtenerMoneda();

            if (Moneda.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener Moneda. Error: " + Moneda.Message;
                return(View("_InfoMensaje"));
            }
            response.ctMoneda = Moneda.Result;
            #endregion

            #region ctIva
            var Iva = _CatalogosData.ObtenerIVA();

            if (Iva.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener IVA. Error: " + Iva.Message;
                return(View("_InfoMensaje"));
            }
            response.ctIva = Iva.Result;
            #endregion

            #region ctMetodoPago
            var ctMetodoPago = _CatalogosData.ObtenerMetodoPago();

            if (ctMetodoPago.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener ctMetodoPago. Error: " + ctMetodoPago.Message;
                return(View("_InfoMensaje"));
            }
            response.ctMetodoPago = ctMetodoPago.Result;
            #endregion

            #region tipoCambio
            var tipoCambio = _CatalogosData.ObtenerTipoCambio();

            if (tipoCambio.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener Tipo de Cambio. Error: " + tipoCambio.Message;
                return(View("_InfoMensaje"));
            }
            response.ctTipoCambio = tipoCambio.Result;
            #endregion

            #region Empleados
            var Empleados = new EmpreadosData().ObtenerEmpleados(0, IdEmpresa, 1);

            if (Empleados.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener  los Empleados. Error: " + tipoCambio.Message;
                return(View("_InfoMensaje"));
            }
            response.ctEmpleado = Empleados.Result;
            #endregion

            #region Proyectos
            var Proyectos = new ProyectosData().ObtenerProyecto(0, IdEmpresa, 1);

            if (Proyectos.Code != 0)
            {
                ViewBag.Titulo  = "Info";
                ViewBag.Mensaje = "Ocurrio un error al obtener  los Empleados. Error: " + tipoCambio.Message;
                return(View("_InfoMensaje"));
            }
            response.ctProyectos = Proyectos.Result;
            #endregion

            return(View(response));
        }