private string GuardarPagoBasicoDelSocioController(int idCaja, int idSocio,
                                                           decimal TotalPagado, int idUsuarioOperador, DataGridViewRowCollection filas,
                                                           string folioReciboListaPoductos, string folioReciboLicencia)
        {
            ClsPagoBasico clsPagoBasico = new ClsPagoBasico();

            clsPagoBasico.IdCaja      = idCaja;
            clsPagoBasico.IdSocio     = idSocio;
            clsPagoBasico.TotalPagado = TotalPagado;
            clsPagoBasico.FolioReciboListaPoductos = folioReciboListaPoductos;
            clsPagoBasico.FolioReciboLicencia      = folioReciboLicencia;
            clsPagoBasico.IdUsuarioOperador        = idUsuarioOperador;


            foreach (DataGridViewRow fila in filas)
            {
                ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value;
                ClsTarifaViewModel   clsTarifaViewModel   = (ClsTarifaViewModel)fila.Cells[2].Value;
                decimal descuento      = Decimal.Parse(fila.Cells[3].EditedFormattedValue.ToString());
                decimal cantidadAPagar = Decimal.Parse(fila.Cells[4].EditedFormattedValue.ToString());

                clsPagoBasico.AddProductoAPagar(clsProductoViewModel.Id, clsTarifaViewModel.Id, clsTarifaViewModel.Cantidad,
                                                "campo no usado", descuento, cantidadAPagar);
            }

            string respuesta = clsPagoBasico.MovsEnCaja_PagoProducto_DetallesProductosEnPago_create();

            return(respuesta);
        }
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex > -1)
            {
                listBox2.SelectedItem = null;
                listBox2.Items.Clear();
                textBox3.Text = "";
                textBox2.Text = "";

                ClsProductoViewModel      clsProductoViewModel = (ClsProductoViewModel)listBox1.SelectedItem;
                List <ClsTarifaViewModel> listaTarifas         = new List <ClsTarifaViewModel>();

                var res = from s in TarifasDeTodosProductos.AsEnumerable()
                          where s.Field <int>("IdProducto") == clsProductoViewModel.Id
                          select new ClsTarifaViewModel {
                    Id = s.Field <int>("IdTarifa"), Cantidad = s.Field <decimal>("Cantidad"), CampoAMostrar = "Cantidad"
                };

                listaTarifas = res.ToList <ClsTarifaViewModel>();
                Action <ClsTarifaViewModel> Funcion = s =>
                {
                    listBox2.Items.Add(s);
                };

                listaTarifas.ForEach(Funcion);
            }
        }
示例#3
0
        //---------Utils
        public bool GridContieneSoloAfiliacion(DataGridViewRowCollection filasConProductos)
        {
            if (filasConProductos.Count == 1)
            {
                DataGridViewRow      filaUnica            = filasConProductos[0];
                ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)filaUnica.Cells[1].Value;


                bool analisis1 = clsProductoViewModel.Nombre == "Afiliación" ? true : false;
                bool analisis2 = clsProductoViewModel.Nombre == "afiliación" ? true : false;
                bool analisis3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false;
                bool analisis4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false;
                bool analisis5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false;
                bool analisis6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false;

                if (analisis1 || analisis2 || analisis3 || analisis4 || analisis5 || analisis6)
                {
                    return(true);
                }

                else
                {
                    return(false);
                }
            }

            return(false);
        }
示例#4
0
        public bool GridContieneAfiliacionYOtros(DataGridViewRowCollection filasConProductos)
        {
            if (filasConProductos.Count > 1)
            {
                bool contieneAfiliacionYOtros = false;

                foreach (DataGridViewRow fila in filasConProductos)
                {
                    ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value;

                    bool analisis1 = clsProductoViewModel.Nombre == "Afiliación" ? true : false;
                    bool analisis2 = clsProductoViewModel.Nombre == "afiliación" ? true : false;
                    bool analisis3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false;
                    bool analisis4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false;
                    bool analisis5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false;
                    bool analisis6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false;

                    if (analisis1 || analisis2 || analisis3 || analisis4 || analisis5 || analisis6)
                    {
                        contieneAfiliacionYOtros = true;
                        break;
                    }
                }

                return(contieneAfiliacionYOtros);
            }

            else
            {
                return(false);
            }
        }
        private void AddFilaADataGridView_ProductosAPagar(ClsProductoViewModel clsProductoViewModel, ClsTarifaViewModel clsTarifaViewModel, decimal descuento, decimal cantidadAPagar)
        {
            int n = dataGridView1.Rows.Add();

            dataGridView1.Rows[n].Cells[1].Value = clsProductoViewModel;
            dataGridView1.Rows[n].Cells[2].Value = clsTarifaViewModel;
            dataGridView1.Rows[n].Cells[3].Value = descuento;
            dataGridView1.Rows[n].Cells[4].Value = cantidadAPagar;
        }
        private bool ExisteAfiliacionEnDataGrid()
        {
            bool bandera = false;

            foreach (DataGridViewRow fila in dataGridView1.Rows)
            {
                ClsProductoViewModel clsProductoViewModelInsertado = (ClsProductoViewModel)fila.Cells[1].Value;
                if (EsAfiliacion(clsProductoViewModelInsertado))
                {
                    bandera = true;
                    break;
                }
            }

            return(bandera);
        }
        private bool ExisteProductoEnDataGridView(ClsProductoViewModel clsProductoViewModelAInsertar)
        {
            bool bandera = false;

            foreach (DataGridViewRow fila in dataGridView1.Rows)
            {
                ClsProductoViewModel clsProductoViewModelInsertado = (ClsProductoViewModel)fila.Cells[1].Value;
                if (clsProductoViewModelInsertado.Id == clsProductoViewModelAInsertar.Id)
                {
                    bandera = true;
                    break;
                }
            }

            return(bandera);
        }
        private bool EsAfiliacion(ClsProductoViewModel clsProductoViewModel)
        {
            bool res  = clsProductoViewModel.Nombre == "Afiliación" ? true: false;
            bool res2 = clsProductoViewModel.Nombre == "afiliación" ? true : false;
            bool res3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false;
            bool res4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false;
            bool res5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false;
            bool res6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false;

            if (res || res2 || res3 || res4 || res5 || res6)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
                e.RowIndex >= 0)
            {
                //Deshabilitar el label y el textBox de captura de Folio licencia, si la fila contíene el producto Afiliacion
                DataGridViewRow      fila  = dataGridView1.Rows[e.RowIndex];
                DataGridViewCell     celda = fila.Cells[1];
                ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)celda.Value;
                if (EsAfiliacion(clsProductoViewModel))
                {
                    label22.Enabled   = false;
                    textBox18.Enabled = false;
                    textBox18.Text    = "";
                }


                //Borrar la fila
                dataGridView1.Rows.RemoveAt(e.RowIndex);
                label7.Text = CalcularSumaTotalEnDataGridView().ToString();
            }
        }
示例#10
0
        public bool GridNoContieneAfiliacionSoloOtros(DataGridViewRowCollection filasConProductos)
        {
            bool noContieneAfiliacion = true;

            foreach (DataGridViewRow fila in filasConProductos)
            {
                ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value;

                bool analisis1 = clsProductoViewModel.Nombre == "Afiliación" ? true : false;
                bool analisis2 = clsProductoViewModel.Nombre == "afiliación" ? true : false;
                bool analisis3 = clsProductoViewModel.Nombre == "Afiliacion" ? true : false;
                bool analisis4 = clsProductoViewModel.Nombre == "afiliacion" ? true : false;
                bool analisis5 = clsProductoViewModel.Nombre == "AFILIACIÓN" ? true : false;
                bool analisis6 = clsProductoViewModel.Nombre == "AFILIACION" ? true : false;

                if (analisis1 || analisis2 || analisis3 || analisis4 || analisis5 || analisis6)
                {
                    noContieneAfiliacion = false;
                    break;
                }
            }

            return(noContieneAfiliacion);
        }
        //--------------------Events
        private void button1_Click(object sender, EventArgs e)
        {
            //En este punto los calculos del descuento ya se supone estan correctos, por eso no se vuelven a calcular
            //al momento de agregar al datagridView
            try
            {
                bool listBox1Seleccionado = listBox1.SelectedIndex > -1 ? true : false; //Averiguar si esta seleccionado
                bool listBox2Seleccionado = listBox2.SelectedIndex > -1 ? true : false; //Averiguar si esta seleccionado
                bool textBox3ConContenido = textBox3.Text.Length > 0 ? true : false;    // El textBox3 ya se que solo numeros contiene, por ello solo compruebo si tiene algo
                bool textBox2Vacio        = textBox2.Text.Length == 0 ? true : false;   //Averiguar si esta vacío

                if (listBox1Seleccionado && listBox2Seleccionado && textBox3ConContenido && textBox2Vacio)
                {
                    ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)listBox1.SelectedItem;
                    ClsTarifaViewModel   clsTarifaViewModel   = (ClsTarifaViewModel)listBox2.SelectedItem;
                    decimal cantidadAPagar = Decimal.Parse(textBox3.Text);

                    if (ExisteProductoEnDataGridView(clsProductoViewModel) == false)
                    {
                        AddFilaADataGridView_ProductosAPagar(clsProductoViewModel, clsTarifaViewModel, 0.0m, cantidadAPagar);
                        label7.Text = CalcularSumaTotalEnDataGridView().ToString();

                        if (EsAfiliacion(clsProductoViewModel))
                        {
                            label22.Enabled   = true;
                            textBox18.Enabled = true;
                        }
                    }

                    else
                    {
                        MessageBox.Show("Ya capturaste este producto", "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                else if (listBox1Seleccionado && listBox2Seleccionado && textBox3ConContenido && (textBox2Vacio == false))
                {
                    ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)listBox1.SelectedItem;
                    ClsTarifaViewModel   clsTarifaViewModel   = (ClsTarifaViewModel)listBox2.SelectedItem;
                    decimal descuento      = Decimal.Parse(textBox2.Text);
                    decimal cantidadAPagar = Decimal.Parse(textBox3.Text);

                    if (ExisteProductoEnDataGridView(clsProductoViewModel) == false)
                    {
                        AddFilaADataGridView_ProductosAPagar(clsProductoViewModel, clsTarifaViewModel, descuento, cantidadAPagar);
                        label7.Text = CalcularSumaTotalEnDataGridView().ToString();
                        if (EsAfiliacion(clsProductoViewModel))
                        {
                            label22.Enabled   = true;
                            textBox18.Enabled = true;
                        }
                    }

                    else
                    {
                        MessageBox.Show("Ya capturaste este producto", "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                else
                {
                    string texto = "Recuerda que se requiere seleccionar un producto, una tarifa, e ingresar opcionalmente un descuento";
                    MessageBox.Show(texto, "Reglas de operación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + " " + ex.Source + " " + ex.StackTrace);
            }
        }
示例#12
0
        private void ArmarReciboListaProductosConVariosElementos(DataRow filaUnicaDatosSocio, DataGridViewRowCollection filasConProductos, string totalAPagar, DataTable infoUsuarioTable,
                                                                 string folioReciboLicencia)
        {
            CRListaProductosPagados crListaProductosPagados = new CRListaProductosPagados();

            //-----Rellenar el area del recibo licencia
            TextObject folioReciboLicenciaTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text29"] as TextObject;

            folioReciboLicenciaTextObject.Text = folioReciboLicencia.Length > 0 ? "FOLIO DE RECIBO LICENCIA " + folioReciboLicencia : "";

            //-------Rellenar el area de total a pagar
            TextObject totalAPagarTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text5"] as TextObject;

            totalAPagarTextObject.Text = totalAPagar;

            //-------Rellenar el area superior
            TextObject propietarioPatenteTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text1"] as TextObject;

            propietarioPatenteTextObject.Text = filaUnicaDatosSocio.Field <string>("PropietarioPatente"); // + " " + filaUnicaDatosSocio.Field<string>("Comodatario");

            TextObject nombreComercialTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text2"] as TextObject;

            nombreComercialTextObject.Text = filaUnicaDatosSocio.Field <string>("NombreComercial");

            ConversorATextoMonedaPesos conversorATextoMonedaPesos = new ConversorATextoMonedaPesos();
            TextObject totalAPagarEnLetrasTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text4"] as TextObject;

            totalAPagarEnLetrasTextObject.Text = conversorATextoMonedaPesos.Analizar((Decimal.Parse(totalAPagar)).ToString("0.00"));

            TextObject nombreComodatarioTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text25"] as TextObject;

            nombreComodatarioTextObject.Text = filaUnicaDatosSocio.Field <string>("Comodatario");

            TextObject rfcComodatarioTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text27"] as TextObject;

            rfcComodatarioTextObject.Text = filaUnicaDatosSocio.Field <string>("RFCComodatario");

            //-------Rellenar el area donde aparece Concepto - Total a pagar
            Hashtable tablaHash        = RecuperarEtiquetasConceptoDelReporte(crListaProductosPagados);
            Hashtable totalesTablaHash = RecuperarEtiquetasTotalesDelReporte(crListaProductosPagados);

            int i = 0;

            foreach (DataGridViewRow fila in filasConProductos)
            {
                //Rellenando la columna conceptos
                ClsProductoViewModel clsProductoViewModel = (ClsProductoViewModel)fila.Cells[1].Value;
                TextObject           objTextObject        = (TextObject)tablaHash[i.ToString()];
                objTextObject.Text = clsProductoViewModel.Nombre;

                //Rellenando la columna totales
                string     totalEnCelda   = fila.Cells[4].EditedFormattedValue.ToString();
                TextObject otroTextObject = (TextObject)totalesTablaHash[i.ToString()];
                otroTextObject.Text = totalEnCelda;

                i++;
            }

            AsignarVacioAEtiquetasQueContienen(tablaHash, "concepto");     //Quitar el texto "concepto" a las etiquetas  no usadas
            AsignarVacioAEtiquetasQueContienen(totalesTablaHash, "total"); //Quitar el texto "0" a las etiquetas no usadas


            //--------Establecer la fecha que irá en el reporte
            if (infoUsuarioTable.Rows.Count == 1)
            {
                var res = from s in infoUsuarioTable.AsEnumerable()
                          select s;

                DataRow  filaUnica       = res.First();
                DateTime fechaEnServidor = filaUnica.Field <DateTime>("FechaAlta");

                TextObject diaTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text6"] as TextObject;
                diaTextObject.Text = fechaEnServidor.Day.ToString();

                TextObject mesTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text7"] as TextObject;
                mesTextObject.Text = MesATexto(fechaEnServidor.Month);

                TextObject anioTextObject = crListaProductosPagados.ReportDefinition.ReportObjects["Text8"] as TextObject;
                anioTextObject.Text = (fechaEnServidor.Year % 2000).ToString();

                //-------Mostrar el reporte
                crystalReportViewer1.ReportSource = crListaProductosPagados;
            }

            else
            {
                string mensaje = "FrmVisorReporte en ArmarReciboListaProductosConVariosElementos";
                throw new ArgumentException(mensaje);
            }
        }