示例#1
0
        public ActionResult Create([FromForm] ClienteViewModel cliente)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Facturacion f = new Facturacion();
                    // TODO: Add insert logic here
                    persona.nombre    = cliente.nombre;
                    persona.nit       = cliente.nit;
                    persona.direccion = cliente.nit;
                    cliente.total     = persona.total;
                    f.CrearFactura(cliente, carritoDeCompras);
                    TempData["a"] = "<script>alert('Compra realizada con éxito');</script>";
                    carritoDeCompras.Clear();
                    cliente.total = "0";

                    return(Redirect("Productos"));
                }
                else
                {
                    return(Redirect("Index"));
                }
            }
            catch
            {
                return(View());
            }
        }
示例#2
0
        private Facturacion LlenaClase()
        {
            Facturacion        facturacion = new Facturacion();
            FacturacionDetalle detalle     = new FacturacionDetalle();

            facturacion.FacturaID   = Convert.ToInt32(FacturaIDnumericUpDown.Value);
            facturacion.ClienteID   = Convert.ToInt32(ClientecomboBox.SelectedValue);
            facturacion.InversionID = 1;
            facturacion.Fecha       = FechadateTimePicker.Value;
            facturacion.Subtotal    = Convert.ToDecimal(SubtotaltextBox.Text);
            facturacion.Total       = Convert.ToDecimal(TotaltextBox.Text.ToString());
            facturacion.Abono       = MontonumericUpDown.Value - DevueltanumericUpDown.Value;
            facturacion.Monto       = Convert.ToDecimal(MontonumericUpDown.Value);
            facturacion.Devuelta    = Convert.ToDecimal(DevueltanumericUpDown.Value);

            foreach (DataGridViewRow item in FacturaciondataGridView.Rows)
            {
                facturacion.AgregarDetalle
                    (ToInt(item.Cells["ID"].Value),
                    //facturacion.FacturaID,
                    Convert.ToInt32(item.Cells["FacturaID"].Value),
                    Convert.ToInt32(item.Cells["ClienteID"].Value),
                    Convert.ToInt32(item.Cells["ArticuloID"].Value),
                    Convert.ToString(item.Cells["Venta"].Value),
                    Convert.ToString(item.Cells["Cliente"].Value),
                    Convert.ToString(item.Cells["Articulo"].Value),
                    Convert.ToInt32(item.Cells["cantidad"].Value),
                    Convert.ToInt32(item.Cells["precio"].Value),
                    Convert.ToInt32(item.Cells["importe"].Value)
                    );
            }
            return(facturacion);
        }
示例#3
0
        public static Facturacion Buscar(int id)
        {
            Contexto    contexto    = new Contexto();
            Facturacion facturacion = new Facturacion();

            try
            {
                facturacion = contexto.Facturacion.Find(id);
                if (facturacion != null)
                {
                    //Cargar la lista en este punto porque
                    //luego de hacer Dispose() el Contexto
                    //no sera posible leer la lista
                    facturacion.Detalle.Count();

                    ////Cargar los nombres de las ciudades
                    //foreach (var item in facturacion.Detalle)
                    //{
                    //    //forzando la ciudad a cargarse
                    //    string s = item..Descripcion;
                    //}

                    contexto.Dispose();
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(facturacion);
        }
示例#4
0
        public async Task <IActionResult> Facturacion(RecargaSearch filtro)
        {
            IsLogged();
            var semana = filtro.semana;
            var year   = filtro.year;

            ViewBag.Semana = filtro.input;

            var s = $"{year}-W{semana}";

            ViewBag.PrimerDiaSemana = s.FirstDateOfWeek().AddDays(0).ToEasternStandardTime().ToString("dddd, dd MMMM yyyy", CultureInfo.CreateSpecificCulture("es-ES"));
            ViewBag.UltimoDiaSemana = s.FirstDateOfWeek().AddDays(6).ToEasternStandardTime().ToString("dddd, dd MMMM yyyy", CultureInfo.CreateSpecificCulture("es-ES"));

            var model = new Facturacion();

            var recargas = await _context.RT_Recargas.Where(x => x.idCuenta == Logged.IdCuenta && x.status == RecargaStatus.success && x.year == year && x.semana == semana).ToListAsync();

            model.Recargas = recargas;

            var cuentas = await _context.RT_Cuentas.Where(x => x.IdCuentaPadre == Logged.IdCuenta).ToListAsync();

            model.cuentas = cuentas;

            foreach (var item in model.cuentas)
            {
                item.Recargas = await _context.RT_Recargas.Where(x => x.idCuenta == item.IdCuenta && x.status == RecargaStatus.success && x.year == year && x.semana == semana).ToListAsync();
            }

            return(View(model));
        }
示例#5
0
        private void enviarDatos(object sender, EventArgs e)
        {
            if (vista.TablaBuscar.SelectedRows.Count > 0)
            {
                Facturacion factura = vista.Owner as Facturacion;
                factura.txtCodigoPaciente.Text = vista.TablaBuscar.CurrentRow.Cells["idPaciente"].Value.ToString();
                factura.txtCodigoVisita.Text   = vista.TablaBuscar.CurrentRow.Cells["idvisita"].Value.ToString();
                factura.txtNombre.Text         = vista.TablaBuscar.CurrentRow.Cells["Nombre"].Value.ToString();
                factura.txtApellido.Text       = vista.TablaBuscar.CurrentRow.Cells["Apellido"].Value.ToString();
                factura.txtNit.Text            = vista.TablaBuscar.CurrentRow.Cells["Nit"].Value.ToString();
                factura.txtTotal.Text          = vista.TablaBuscar.CurrentRow.Cells["Costo"].Value.ToString();
                factura.Datos.Rows.Add(vista.TablaBuscar.CurrentRow.Cells["Tipo"].Value.ToString(), vista.TablaBuscar.CurrentRow.Cells["Costo"].Value.ToString());


                factura.txtCodigoPaciente.Enabled = false;
                factura.txtCodigoVisita.Enabled   = false;
                factura.txtNombre.Enabled         = false;
                factura.txtApellido.Enabled       = false;
                factura.txtNit.Enabled            = false;
                factura.txtTotal.Enabled          = false;

                vista.Close();
            }
            else
            {
                MessageBox.Show("Seleccione una Fila");
            }
        }
示例#6
0
        public bool Eliminar(int id)
        {
            Contexto contexto = new Contexto();
            bool     paso     = false;

            try
            {
                Facturacion facturacion = contexto.facturacion.Where(e => e.IdFactura == id).Include(d => d.Detalle).FirstOrDefault();

                foreach (var item in facturacion.Detalle)
                {
                    contexto.productos.Find(item.IdProducto).Cantidad += item.Cantidad;
                }
                contexto.clientes.Find(facturacion.IdCliente).Deuda -= facturacion.Total;
                contexto.facturacion.Remove(facturacion);
                paso = contexto.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
示例#7
0
        public void PruebaConsultarXId()
        {
            //Agregamos la factura
            _respuesta    = _DAO.Agregar(_laFactura);
            _listaFactura = _DAO.ConsultarTodos();
            _laFactura    = (Facturacion)_listaFactura[_listaFactura.Count - 1];

            //Buscamos la factura especifica (por su id)
            _laFactura2 = (Facturacion)_DAO.ConsultarXId(_laFactura);

            //Validamos los campos
            Assert.AreEqual(true, _respuesta);
            Assert.AreEqual(_laFactura2.Id, _laFactura.Id);
            Assert.AreEqual(_laFactura2.descripcionFactura, "Proyecto de diseño");
            Assert.AreEqual(_laFactura2.estatusFactura, 0);
            Assert.AreEqual(_laFactura2.fechaFactura, _fecha);
            Assert.AreEqual(_laFactura2.fechaUltimoPagoFactura, _fecha);
            Assert.AreEqual(_laFactura2.idCompaniaFactura, 1);
            Assert.AreEqual(_laFactura2.idProyectoFactura, 1);
            Assert.AreEqual(_laFactura2.montoFactura, 100);
            Assert.AreEqual(_laFactura2.montoRestanteFactura, 101);
            Assert.AreEqual(_laFactura2.tipoMoneda, "Dolares");

            //Eliminamos la factura insertada
            _respuesta = _DAO.DeleteFactura(_laFactura2);
        }
示例#8
0
        } // fin metodo

        public List <Facturacion> facturacionMensualEmpleado(int idEmpleado)
        {
            List <Facturacion> miFacturacion = new List <Facturacion>();

            miFacturacion = DatosFacturacion();
            List <Facturacion> facturacionMensualEmpleado = new List <Facturacion>();
            Facturacion        resumenfactEmpleado = null;
            int ene = 0, feb = 0, mar = 0,
                abr = 0, may = 0, jun = 0,
                jul = 0, ago = 0, sept = 0,
                oct = 0, nov = 0, dic = 0;

            foreach (Facturacion factEmpresa in miFacturacion)
            {
                if (factEmpresa.NumComercial1 == idEmpleado)
                {
                    ene  += factEmpresa.Ene;
                    feb  += factEmpresa.Feb;
                    mar  += factEmpresa.Mar;
                    abr  += factEmpresa.Abr;
                    may  += factEmpresa.May;
                    jun  += factEmpresa.Jun;
                    jul  += factEmpresa.Jul;
                    ago  += factEmpresa.Ago;
                    sept += factEmpresa.Sept;
                    oct  += factEmpresa.Oct;
                    nov  += factEmpresa.Nov;
                    dic  += factEmpresa.Dic;
                }
            }
            resumenfactEmpleado = new Facturacion(idEmpleado, ene, feb, mar,
                                                  abr, may, jun, jul, ago, sept, oct, nov, dic);
            facturacionMensualEmpleado.Add(resumenfactEmpleado);
            return(facturacionMensualEmpleado);
        } // fin metodo
示例#9
0
        private void LlenarCampos(Facturacion facturacion)
        {
            FacturacionDetalle detalle = new FacturacionDetalle();

            FacturaIDnumericUpDown.Value = 0;
            FechadateTimePicker.Value    = DateTime.Now;
            CantidadnumericUpDown.Value  = 0;
            PrecionumericUpDown.Value    = 0;
            ImportetextBox.Clear();
            MontonumericUpDown.Value    = 0;
            DevueltanumericUpDown.Value = 0;
            SubtotaltextBox.Clear();
            TotaltextBox.Clear();



            FacturaIDnumericUpDown.Value = facturacion.FacturaID;
            FechadateTimePicker.Value    = facturacion.Fecha;
            SubtotaltextBox.Text         = facturacion.Subtotal.ToString();
            TotaltextBox.Text            = facturacion.Total.ToString();



            //Cargar el detalle al Grid
            FacturaciondataGridView.DataSource = facturacion.Detalle;

            FacturaciondataGridView.Columns["ID"].Visible         = false;
            FacturaciondataGridView.Columns["FacturaID"].Visible  = false;
            FacturaciondataGridView.Columns["ClienteID"].Visible  = false;
            FacturaciondataGridView.Columns["ArticuloID"].Visible = false;
            FacturaciondataGridView.Columns["Articulos"].Visible  = false;
        }
示例#10
0
        private void btn_buscar_Click(object sender, EventArgs e)
        {
            acceso_DB   BD    = new acceso_DB();
            DataTable   tabla = new DataTable();
            Facturacion fac   = new Facturacion();



            if (this.txt_num_fac.Text == "")
            {
                MessageBox.Show("El Num Factura esta vacio \n Ingrese un valor para buscar..", "Atencion", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);
                return;
            }

            else
            {
                tabla = fac.Buscar_NumeroFactura(txt_num_fac.Text);

                if (tabla.Rows.Count == 0)
                {
                    MessageBox.Show("No se ha encontrado ninguna Factura con ese Numero", "Atencion", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);
                    txt_num_fac.Clear();
                    txt_num_fac.Focus();
                    return;
                }

                //Reportes_AlumnosBindingSource.DataSource = tabla;
                //reportViewer1.RefreshReport();

                Datos_FacturaBindingSource.DataSource = tabla;
                reportViewer_facturacion.RefreshReport();
            }
        }
        private void ventasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Facturacion facturacion = new Facturacion();

            facturacion.Show();
            facturacion.MdiParent = this;
        }
        public ActionResult Create([Bind(Include = "IDFacturacion,IDClientes,Descuento,,Monto,Fecha")] Facturacion facturacion)
        {
            decimal monto = 0, descuento = 0, sumatoria = 0;

            foreach (var item in db.Ventas.Where(c => c.IDCliente == facturacion.IDClientes))
            {
                sumatoria += item.Cantidad * db.Productos.SingleOrDefault(p => p.Id == item.Id).Precio;
            }

            descuento = facturacion.descuento(sumatoria, db.Clientes.SingleOrDefault(c => c.IDClientes == facturacion.IDClientes).Categoria);
            monto     = facturacion.itbis(descuento);

            if (ModelState.IsValid)
            {
                facturacion.Descuento = descuento;
                facturacion.Monto     = monto;
                facturacion.Fecha     = DateTime.Now;

                db.Facturacion.Add(facturacion);
                db.SaveChanges();
                return(RedirectToAction("Index", "Clientes"));
            }

            ViewBag.cliente_id = new SelectList(db.Clientes, "IDClientes", "RNC_Cedula", facturacion.IDClientes);
            return(View(facturacion));
        }
示例#13
0
        /// <summary>
        /// Metodo que permite buscar si ya existe una factura para una fecha, proyecto y compañia dada
        /// </summary>
        /// <param name="parametro"></param>
        /// <returns>Retorna un valor booleano para saber si ya existe la factura especifica</returns>
        public bool CheckExistingInvoice(Entidad parametro)
        {
            List <Parametro> parameters = new List <Parametro>();
            Facturacion      TheFactura = (Facturacion)parametro;
            Parametro        theParam   = new Parametro();

            bool resultado = false;

            try
            {
                theParam = new Parametro(ResourceFactura.ParamFecha_Emision, SqlDbType.Date,
                                         TheFactura.fechaFactura.ToString(), false);
                parameters.Add(theParam);

                theParam = new Parametro(ResourceFactura.ParamIdProyecto, SqlDbType.Int,
                                         TheFactura.idProyectoFactura.ToString(), false);
                parameters.Add(theParam);

                theParam = new Parametro(ResourceFactura.ParamIdCompania, SqlDbType.Int,
                                         TheFactura.idCompaniaFactura.ToString(), false);
                parameters.Add(theParam);

                //Guardo la tabla que me regresa el procedimiento de consultar contactos
                DataTable dt = EjecutarStoredProcedureTuplas(ResourceFactura.VerifyExistingInvoice, parameters);

                //Guardar los datos
                foreach (DataRow row in dt.Rows)
                {
                    resultado = true;
                }
            }
            catch (FormatException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesTangerine.M8.WrongFormatException(ResourceFactura.Codigo,
                                                                       ResourceFactura.MensajeFormato, ex);
            }
            catch (ArgumentNullException ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesTangerine.M8.NullArgumentException(ResourceFactura.Codigo,
                                                                        ResourceFactura.MensajeNull, ex);
            }
            catch (ExcepcionesTangerine.ExceptionTGConBD ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesTangerine.ExceptionsTangerine(ResourceFactura.Codigo,
                                                                   ResourceFactura.MensajeSQL, ex);
            }
            catch (Exception ex)
            {
                Logger.EscribirError(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name, ex);
                throw new ExcepcionesTangerine.ExceptionsTangerine(ResourceFactura.Codigo,
                                                                   ResourceFactura.MensajeOtro, ex);
            }
            Logger.EscribirInfo(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name,
                                ResourceFactura.MensajeFinInfoLogger, System.Reflection.MethodBase.GetCurrentMethod().Name);

            return(resultado);
        }
        protected void sbconsultar()
        {
            try
            {
                //Session[_nameSessionData]= Lider.Lider.fget_afiliados(Convert.ToDateTime(txtDateStart.Text), Convert.ToDateTime(txtDateEnd.Text)).Tables[0];
                msnMessage.Visible = false;
                DataSet dsreturn = Facturacion.Get_VentaSemanal(Convert.ToDateTime(txtDateStart.Text), Convert.ToDateTime(txtDateEnd.Text));
                Pivot   pvt      = new Pivot(dsreturn.Tables[0]);
                //string[] fila = {  };
                string[] fila = { "AQ" };
                //string[] col = { "Ano","Mes","Semana", "Dia" };
                string[] col = { "anio", "Mes", "dia" };

                gvReturns.DataSource = pvt.PivotData("Total", AggregateFunction.Sum, fila, col);



                gvReturns.DataBind();
                // MergeRows(gvReturns, 2);

                Session[_nameSessionData] = dsreturn.Tables[0];


                //gvReturns.DataSource = Documents_Trans.get_reportsemana(Convert.ToDateTime(txtDateStart.Text), Convert.ToDateTime(txtDateEnd.Text)).Tables[0];// (DataTable)Session[_nameSessionData];
                //gvReturns.DataBind();
                //Session[_nameSessionData] = gvReturns.DataSource;
                //MergeRows(gvReturns, 4);
            }
            catch (Exception ex)
            {
                msnMessage.Visible = true;
                msnMessage.LoadMessage(ex.Message, UserControl.ucMessage.MessageType.Error);
            }
        }
示例#15
0
        private bool Insertar(Facturacion facturacion)
        {
            Contexto contexto = new Contexto();
            bool     paso     = false;

            try
            {
                if (contexto.facturacion.Add(facturacion) != null)
                {
                    foreach (var item in facturacion.Detalle)
                    {
                        contexto.productos.Find(item.IdProducto).Cantidad -= item.Cantidad;
                    }
                }
                contexto.clientes.Find(facturacion.IdCliente).Deuda += facturacion.Total;
                paso = contexto.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                contexto.Dispose();
            }
            return(paso);
        }
示例#16
0
        private void btnVolver_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Facturacion menu = new Facturacion(codigoFact, false, cedula, isPrimerProducto);

            menu.Visible = true;
        }
        public async Task <IActionResult> Edit(Guid id, [Bind("FacturacionId,TipoFactura,Cantidad,Itbis,ClienteId,UsuarioId,ProductosId,ServiciosId")] Facturacion facturacion)
        {
            if (id != facturacion.FacturacionId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(facturacion);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FacturacionExists(facturacion.FacturacionId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(facturacion));
        }
示例#18
0
 //-------------------------------------------------------------------
 // Botón Guardar, aumenta en 1 el número de factura, checkea que el tipo de factura y agrega a los datos de la factura
 // agraega la lista factura y borra todo para dejar limpio para que se vuelva a utilizar
 private void btnGuardarFactura_Click(object sender, EventArgs e)
 {
     Facturacion.GuardarComprobante(this,
                                    nudImporteFact,
                                    txtTOTALFactura,
                                    NumFact,
                                    txtNroFactura,
                                    FactNueva,
                                    EmpleadoActuApellido,
                                    EmpActualCodig,
                                    txtFechaFactura,
                                    txtIvaFact,
                                    ListaTurno,
                                    txtTurno,
                                    ListaFactura,
                                    ListaDetallesFact,
                                    txtSubTotalFactura,
                                    txtVueltoFAct,
                                    dgvGrillaFactura,
                                    dgvVentas,
                                    ListaFacturaEmpleado,
                                    dgvListaVentaEmpleado,
                                    btnGuardarFactura,
                                    btnAgregarfactura);
 }
示例#19
0
        /// <summary>
        /// Metodo para cargar los datos de la factura a UI
        /// </summary>
        public void cargarFactura()
        {
            try
            {
                Facturacion lafactura = (Facturacion)FabricaEntidades.ObtenerFacturacion();
                lafactura.Id = int.Parse(this.vista.numero);

                Comando <Entidad> comando = FabricaComandos.CrearConsultarXIdFactura(lafactura);
                lafactura = (Facturacion)comando.Ejecutar();

                vista.numero      = this.vista.numero;
                vista.fecha       = lafactura.fechaFactura.ToString(RecursoPresentadorM8.dateTipe);
                vista.compania    = lafactura.idCompaniaFactura.ToString();
                vista.proyecto    = lafactura.idProyectoFactura.ToString();
                vista.descripcion = lafactura.descripcionFactura;
                vista.monto       = lafactura.montoFactura.ToString();
                vista.moneda      = lafactura.tipoMoneda;
            }
            catch (ExcepcionesTangerine.ExceptionsTangerine ex)
            {
                vista.alertaClase = RecursoPresentadorM8.alertaError;
                vista.alertaRol   = RecursoPresentadorM8.tipoAlerta;
                vista.alerta      = RecursoPresentadorM8.alertaHtml + ex.Mensaje + ex.Excepcion.InnerException.Message
                                    + RecursoPresentadorM8.alertaHtmlFinal;
            }
        }
示例#20
0
        public Facturacion Validar_Forma_De_Pago(string metodo_de_pago, string no_solicitud, string tarjeta_de_credito,
                                                 string codigo_cvv, string cuenta_bancaria, int id_cliente)
        {
            _facturacion = new Facturacion();
            var obj_Calculo_De_Peso = new Calculo_De_Peso();

            string tarjeta       = Pago_Por_Tarjeta(metodo_de_pago, tarjeta_de_credito, codigo_cvv);
            string transferencia = Pago_Por_Transferencia(metodo_de_pago, cuenta_bancaria);

            var datos_de_la_solicitud = Consultar_Solicitud(int.Parse(no_solicitud));

            if (tarjeta != null && datos_de_la_solicitud.Id > 0)
            {
                _facturacion.IdClienteFkFacturacion = id_cliente;
                _facturacion.TipoPago = tarjeta;
                _facturacion.IdSolicitudFkFacturacion = datos_de_la_solicitud.Id;
                _facturacion.FechaDeFacturacion       = DateTime.Today;
                _facturacion.Balance = obj_Calculo_De_Peso.Costo_Por_Peso(datos_de_la_solicitud);
                return(_facturacion);
            }
            else if (transferencia != null && datos_de_la_solicitud.Id > 0)
            {
                _facturacion.IdClienteFkFacturacion = id_cliente;
                _facturacion.TipoPago = transferencia;
                _facturacion.IdSolicitudFkFacturacion = datos_de_la_solicitud.Id;
                _facturacion.FechaDeFacturacion       = DateTime.Today;
                _facturacion.Balance = obj_Calculo_De_Peso.Costo_Por_Peso(datos_de_la_solicitud);
                return(_facturacion);
            }
            return(null);
            //throw new NotImplementedException();
        }
示例#21
0
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();

            Facturacion facturas = new Facturacion();

            decimal monto = 100.15M;

            Console.WriteLine("El IGV es: " + facturas.CalcularIgv(monto).ToString());
            Console.WriteLine("El monto redondeado es: " + facturas.redondeaMonto(monto).ToString());
            Console.WriteLine();


            CSuma s = new CSuma();

            s.calcular(4.5, 6.7);
            s.mostrar();


            ImpactoAmbiental impacto = new ImpactoAmbiental();

            impacto.Contaminacion = new Contaminacion();
            var resutadoAfectacion = impacto.Afectar();

            Console.WriteLine(resutadoAfectacion);

            impacto.Contaminacion = new ContaminacionMundial();
            resutadoAfectacion    = impacto.Afectar();
            Console.WriteLine(resutadoAfectacion);

            Console.Read();
        }
示例#22
0
        static void Main(string[] args)
        {
            /* Console.WriteLine("Elige comercial: \n" +
             *   "1- Comercial 1\n" +
             *   "2- Comercial 2 \n" +
             *   "3- Comercial 3");
             *
             * // Se pide por teclado valor y se parsea a valor entero ya que viene como string
             * int comercialID = int.Parse(Console.ReadLine());
             *
             * Console.WriteLine(" Se elige comercial: " + comercialID);
             *
             * ComercialVO comercial = new ComercialVO(comercialID);
             *
             * Console.WriteLine(" Se crea con id: " + comercial.Id);
             *
             * ComercialBLL comercialDatos = new ComercialBLL();
             *
             * Console.WriteLine(comercialDatos.gestionaDatos(comercial));
             */
            Facturacion  factura        = new Facturacion(1, 1);
            ComercialBLL comercialDatos = new ComercialBLL();

            comercialDatos.gestionaFactura(factura);

            Console.WriteLine(factura.total());
        }
        public void PruebaAgregar()
        {
            //Agregamos la factura
            _comandoBool = FabricaComandos.CrearAgregarFactura(_laFactura);
            _respuesta   = _comandoBool.Ejecutar();

            _comandoList  = FabricaComandos.CrearConsultarTodosFactura();
            _listaFactura = _comandoList.Ejecutar();
            _laFactura    = (Facturacion)_listaFactura[_listaFactura.Count - 1];

            //Validamos los campos
            Assert.AreEqual(true, _respuesta);
            Assert.AreEqual(_laFactura.descripcionFactura, "Proyecto de diseño");
            Assert.AreEqual(_laFactura.estatusFactura, 0);
            Assert.AreEqual(_laFactura.fechaFactura, _fecha);
            Assert.AreEqual(_laFactura.fechaUltimoPagoFactura, _fecha);
            Assert.AreEqual(_laFactura.idCompaniaFactura, 1);
            Assert.AreEqual(_laFactura.idProyectoFactura, 1);
            Assert.AreEqual(_laFactura.montoFactura, 100);
            Assert.AreEqual(_laFactura.montoRestanteFactura, 101);
            Assert.AreEqual(_laFactura.tipoMoneda, "Dolares");

            //Eliminamos la factura insertada
            _comandoBool = FabricaComandos.CrearEliminarFactura(_laFactura);
            _respuesta   = _comandoBool.Ejecutar();
        }
        public void PruebaAnnularFactura()
        {
            //Agregamos la factura
            _comandoBool = FabricaComandos.CrearAgregarFactura(_laFactura);
            _respuesta   = _comandoBool.Ejecutar();

            _comandoList  = FabricaComandos.CrearConsultarTodosFactura();
            _listaFactura = _comandoList.Ejecutar();
            _laFactura    = (Facturacion)_listaFactura[_listaFactura.Count - 1];

            //Cambiamos el status de la factura
            _comandoBool = FabricaComandos.CrearAnularFactura(_laFactura);
            _respuesta   = _comandoBool.Ejecutar();

            //Consultamos la factura
            _comandoEntidad = FabricaComandos.CrearConsultarXIdFactura(_laFactura);
            _laFactura2     = (Facturacion)_comandoEntidad.Ejecutar();

            //Validamos los campos
            Assert.AreEqual(true, _respuesta);
            Assert.AreEqual(_laFactura2.estatusFactura, 2);

            //Eliminamos la factura insertada
            _comandoBool = FabricaComandos.CrearEliminarFactura(_laFactura);
            _respuesta   = _comandoBool.Ejecutar();
        }
示例#25
0
        /// <summary>
        /// Método para llenar la informacion de la factura
        /// </summary>
        public void llenarModificar()
        {
            try
            {
                Facturacion _laFactura = (Facturacion)FabricaEntidades.ObtenerFacturacion();
                CompaniaM4  compania   = (CompaniaM4)FabricaEntidades.CrearCompaniaVacia();
                DominioTangerine.Entidades.M7.Proyecto proyecto =
                    (DominioTangerine.Entidades.M7.Proyecto)FabricaEntidades.ObtenerProyecto();

                _laFactura.Id = int.Parse(this.vista.textNumeroFactura);

                Comando <Entidad> _elComando = FabricaComandos.CrearConsultarXIdFactura(_laFactura);
                _laFactura  = (Facturacion)_elComando.Ejecutar();
                compania.Id = _laFactura.idCompaniaFactura;
                proyecto.Id = _laFactura.idProyectoFactura;


                Comando <Entidad> _elComando3 = FabricaComandos.ObtenerComandoConsultarXIdProyecto(proyecto);
                proyecto = (DominioTangerine.Entidades.M7.Proyecto)_elComando3.Ejecutar();
                Comando <Entidad> _elComando2 = FabricaComandos.CrearConsultarCompania(compania);
                compania = (CompaniaM4)_elComando2.Ejecutar();

                vista.textNumeroFactura = _laFactura.Id.ToString();
                vista.textDescripcion   = _laFactura.descripcionFactura;
                vista.textCliente       = compania.NombreCompania;
                vista.textProyecto      = proyecto.Nombre;
                vista.textFecha         = _laFactura.fechaFactura.ToString(RecursoPresentadorM8.TipoFecha);
                vista.textDireccion     = compania.TelefonoCompania;
                vista.textRif           = compania.RifCompania;

                if (_laFactura.tipoMoneda == RecursoPresentadorM8.dolares)
                {
                    vista.textMonto      = _laFactura.montoFactura.ToString() + RecursoPresentadorM8.Dolar;
                    vista.textTipoMoneda = RecursoPresentadorM8.MontoTotal
                                           + _laFactura.montoFactura + RecursoPresentadorM8.Dolar;
                }
                if (_laFactura.tipoMoneda == RecursoPresentadorM8.euros)
                {
                    vista.textMonto      = _laFactura.montoFactura.ToString() + RecursoPresentadorM8.Euro;
                    vista.textTipoMoneda = RecursoPresentadorM8.MontoTotal
                                           + _laFactura.montoFactura + RecursoPresentadorM8.Euro;
                }
                if (_laFactura.tipoMoneda == RecursoPresentadorM8.bolivares)
                {
                    vista.textMonto      = _laFactura.montoFactura.ToString() + RecursoPresentadorM8.BS;
                    vista.textTipoMoneda = RecursoPresentadorM8.MontoTotal
                                           + _laFactura.montoFactura + RecursoPresentadorM8.BS;
                }
                idCompania = compania.Id;
                idProyecto = proyecto.Id;
            }
            catch (ExcepcionesTangerine.ExceptionsTangerine ex)
            {
                vista.alertaClase = RecursoPresentadorM8.alertaError;
                vista.alertaRol   = RecursoPresentadorM8.tipoAlerta;
                vista.alerta      = RecursoPresentadorM8.alertaHtml + ex.Mensaje + ex.Excepcion.InnerException.Message
                                    + RecursoPresentadorM8.alertaHtmlFinal;
            }
        }
示例#26
0
        /// <summary>
        /// Modifica el mueble de la lista de muebles usando el método Modificar preguntandole al
        /// usuario si está seguro si desea modificarlo.
        /// </summary>
        /// <param name="sender">objeto sender</param>
        /// <param name="e">e</param>
        private void btnModificar_Click(object sender, EventArgs e)
        {
            try
            {
                int indiceMuebleAnterior = Fabrica.Muebles.IndexOf(muebleAModificar);
                if (CamposLlenos())
                {
                    if (ModificarMueble())
                    {
                        if (this.nuevoMueble.ValidarMedidas())
                        {
                            DialogResult resultado = MessageBox.Show(string.Format("¿Está seguro que desea modificar el mueble: \n{0}?  \nINFORMACIÓN DEL MUEBLE A MODIFICAR: \n{1} , \n\nATENCIÓN:Está Acción no se puede revertir", this.muebleAModificar.MuebleFabricado, this.muebleAModificar.InformacionDelMueble()), "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                            if (resultado == DialogResult.Yes)
                            {
                                Fabrica.Muebles.Insert(indiceMuebleAnterior, this.nuevoMueble);
                                Fabrica.Muebles.RemoveAt(indiceMuebleAnterior + 1);
                                MessageBox.Show("Mueble modificado con exito!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                resultado = MessageBox.Show("¿Desea generar un .txt de la Modificación?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                                if (resultado == DialogResult.Yes)
                                {
                                    Facturacion.GenerarUnMuebleTxt(Environment.CurrentDirectory, this.nuevoMueble);
                                    MessageBox.Show(string.Format("Archivo generado con exito en {0}", Environment.CurrentDirectory), "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else
                                {
                                    this.Cancelar();
                                }
                            }
                            else
                            {
                                this.Cancelar();
                            }
                        }
                        else
                        {
                            MessageBox.Show("Las medidas y el peso deben ser mayores de cero", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Hubo un error al modificar el producto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Hay campos vacios", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Error imprevisto al modificar el mueble", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);//Por las dudas
            }
            catch (Exception)
            {
                MessageBox.Show("Error imprevisto al crear el archivo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);//Por si ocurre cualquier excepción referida al archivo
            }
        }
示例#27
0
        public ActionResult Facturacion(FacturacionVM f)
        {
            using (var dc = new DataContext())
            {
                var queryStock = dc.Stocks
                                 .Where(p => p.ProductoID
                                        .Equals(f.ProductoID))
                                 .Select(p => p.Existencia)
                                 .FirstOrDefault()
                                 .ToString();

                if (int.Parse(queryStock) < f.Cantidad)
                {
                    return(RedirectToAction("FacturacionError"));
                }
                else
                {
                    var queryStocks        = dc.Stocks.Where(st => st.ProductoID.Equals(f.ProductoID));
                    var queryNombreCliente = from c in dc.Clientes where c.ID.Equals(f.ClienteID) select c.Nombre;
                    var qNC = queryNombreCliente.FirstOrDefault().ToString();
                    var queryNombreProducto = from p in dc.Productos where p.ID.Equals(f.ProductoID) select p.Nombre;
                    var qNP = queryNombreProducto.FirstOrDefault().ToString();

                    var factura = new Facturacion()
                    {
                        ClienteID     = f.ClienteID,
                        NombreCliente = qNC,
                        Fecha         = DateTime.Now
                    };

                    var detalleFact = new DetalleFacturacion()
                    {
                        FacturacionID  = factura.ID,
                        ProductoID     = f.ProductoID,
                        NombreProducto = qNP,
                        Cantidad       = f.Cantidad,
                        Total          = Total(f.ClienteID, f.ProductoID, f.Cantidad),
                        Descuento      = Descuento(f.ProductoID, f.ClienteID, f.Cantidad)
                                         //Descuento = double.Parse(Descuento(f.ClienteID)),
                    };



                    foreach (var i in queryStocks)
                    {
                        i.Existencia -= f.Cantidad;
                    }

                    dc.Facturaciones.Add(factura);
                    dc.DetalleFacturaciones.Add(detalleFact);
                    dc.SaveChanges();
                    ViewBag.Clientes  = dc.Clientes.ToList();
                    ViewBag.Productos = dc.Productos.ToList();
                    var tablaFactura = dc.Facturaciones.ToList();
                    ViewBag.tablaFactura = tablaFactura;
                    return(View());
                }
            }
        }
 public void init()
 {
     _fecha     = new DateTime(2016, 01, 02);
     _laFactura = (Facturacion)FabricaEntidades.ObtenerFacturacion(_fecha, _fecha, 100, 101,
                                                                   "Dolares", "Proyecto de diseño", 0, 1, 1);
     _laCompania = (CompaniaM4)FabricaEntidades.CrearCompaniaConId(1, "CompaniaPrueba3",
                                                                   "J-111134112", "*****@*****.**", "34342344", "ADD", new DateTime(2015, 2, 10), 1, 100, 30, 1);
 }
示例#29
0
        public ActionResult DeleteConfirmed(int id)
        {
            Facturacion facturacion = db.Facturacions.Find(id);

            db.Facturacions.Remove(facturacion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#30
0
        public string gestionaFactura(Facturacion factura)
        {
            ComercialDAL comercialDatos = new ComercialDAL();

            comercialDatos.leerFacturacionComercial(factura);

            return(factura.ToString());
        }
示例#31
0
        private void generarDataGrid(Usuario usuario)
        {
            Facturacion factura = new Facturacion();

            this.dgvOperaciones.DataSource = factura.obtenerCompras(usuario);
            this.dgvOperaciones.Refresh();
        }
示例#32
0
        private void rendirButton_Click(object sender, EventArgs e)
        {
            bool chequeado = this.chequearCampos(this.dgvOperaciones, this.formaDePagoComboBox);

            if (chequeado)
            {
                //se empiezan a facturar todas las ventas en orden

                //obtengo la lista de los codigos de las publicaciones
                List<int> listaCodigos = this.obtenerFacturas(this.dgvOperaciones.SelectedRows);

                int cantidadFacturas = listaCodigos.Count;

                    //crear la factura
                    Facturacion factura = new Facturacion(this.formaDePagoComboBox.Text);

                    int idFactura = factura.crearFactura();

                    //recorro los selectedRows del datagridview para insertar los items a la factura creada
                    int i = 0;
                    int cantidadFilas = this.dgvOperaciones.SelectedRows.Count;

                    while (i < cantidadFilas)
                    {

                            //insertar item
                            Item item = new Item();

                            //1. Nro factura
                            item.ID_Facturacion = idFactura;

                            //2. Codigo de la Publicacion
                            item.Cod_Publicacion = listaCodigos[i];

                            //primero obtengo el tipo de publicacion para saber cuánto stock se ha vendido

                            string tipoPublicacion = Publicacion.obtenerTipoPublicacion(item.Cod_Publicacion);

                            //3. Cantidad Vendida
                            if (tipoPublicacion == "Compra Inmediata")
                            {
                                item.Cantidad_Vendida = 1;

                            }
                            else if (tipoPublicacion == "Subasta")
                            {
                                item.Cantidad_Vendida = Publicacion.obtenerStock(item.Cod_Publicacion);
                            }

                            //4. Sumar 1 en bonificaciones, y obtener el Precio unitario (si esta bonificada devuelve 0)
                            item.Precio_Unitario = Publicacion.sumarObtenerPrecio(item.Cod_Publicacion, tipoPublicacion);

                            //5. Descripcion
                            item.Descripcion = Convert.ToString(this.dgvOperaciones.SelectedRows[i].Cells[3].Value);

                            //Inserto el item y ACTUALIZO EL TOTAL_FACTURACION (de la tabla facturas)
                            item.InsertarItem(idFactura);

                            //Actualizo la operacion a facturada
                            int idOperacion = Convert.ToInt32(this.dgvOperaciones.SelectedRows[i].Cells[1].Value);

                            Operacion.facturarCompra(idOperacion);

                            Usuario.restarVentaSinRendir(idOperacion);

                        //inserto en la tabla asociativa el idFactura y el codPublicacion
                        if(!factura.noExiste(idFactura, listaCodigos[i]))
                        {
                            //insert
                            factura.insertarAsociativa(idFactura, listaCodigos[i]);
                        }

                        i++;

                }

                MessageBox.Show("¡Ventas facturadas!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);

                this.generarDataGrid(Interfaz.usuarioActual());
                this.dgvOperaciones.Refresh();

            }
        }