示例#1
0
        public void init()
        {
            UpdateTimeConfig  updateTimeConfig  = new UpdateTimeConfig();
            ProgramTypeConfig programTypeConfig = new ProgramTypeConfig();

            programTypeConfig.setNext(updateTimeConfig);
            ProgramPathConfig programPathConfig = new ProgramPathConfig();

            programPathConfig.setNext(programTypeConfig);
            LogsConfig logsConfig = new LogsConfig();

            logsConfig.setNext(programPathConfig);
            DateConfig dateConfig = new DateConfig();

            dateConfig.setNext(logsConfig);
            DataBaseConfig dataBaseConfig = new DataBaseConfig();

            dataBaseConfig.setNext(dateConfig);
            ConnectionConfig connectionConfig = new ConnectionConfig(new MsSqlServerController());

            connectionConfig.setNext(dataBaseConfig);
            firstConfigReader = new AvevaConfig();
            firstConfigReader.setNext(connectionConfig);
        }
示例#2
0
        private void buttonConfirmarCompra_Click(object sender, EventArgs e)
        {
            uint val = 0;

            if (!UInt32.TryParse(textBoxCant.Text, out val))
            {
                MessageBox.Show("Solo puede ingresar un número entero positivo");
                textBoxCant.Clear();
                return;
            }

            if (Convert.ToInt32(textBoxCant.Text) == 0)
            {
                MessageBox.Show("No puede hacer un pedido por 0 unidades");
                return;
            }

            if (Convert.ToInt32(textBoxCant.Text) > stockActual)
            {
                MessageBox.Show("Su pedido excede el stock actual de " + stockActual + " unidades");
                return;
            }

            Decimal cantidadVentas = Convert.ToDecimal(mapper.SelectFromWhere("COUNT(*)", "Compras", "comp_publi_id", publicacionId));

            String   sql   = "INSERT INTO NET_A_CERO.Compras(comp_usr_id, comp_publi_id, comp_fecha, comp_cantidad, comp_monto, comp_calif_id) VALUES (@comp_usr_id, @comp_publi_id, @comp_fecha, @comp_cantidad, @comp_monto, NULL)";
            DateTime fecha = DateConfig.getInstance().getCurrentDate();

            String sqlMonto = "SELECT publi_precio FROM NET_A_CERO.Publicaciones WHERE publi_id = @publicacion";

            parametros.Clear();
            parametros.Add(new SqlParameter("@publicacion", publicacionId));
            SqlDataReader readerMontoPublicacion = QueryBuilder.Instance.build(sqlMonto, parametros).ExecuteReader();

            readerMontoPublicacion.Read();
            Decimal precioPublicacion = Convert.ToDecimal(readerMontoPublicacion["publi_precio"]);

            parametros.Clear();
            parametros.Add(new SqlParameter("@comp_usr_id", idUsuarioActual));
            parametros.Add(new SqlParameter("@comp_publi_id", publicacionId));
            parametros.Add(new SqlParameter("@comp_fecha", fecha));
            parametros.Add(new SqlParameter("@comp_cantidad", this.textBoxCant.Text));
            parametros.Add(new SqlParameter("@comp_monto", (precioPublicacion * Convert.ToInt32(textBoxCant.Text))));
            QueryBuilder.Instance.build(sql, parametros).ExecuteNonQuery();



            Decimal precio = Convert.ToDecimal(mapper.SelectFromWhere("publi_precio", "Publicaciones", "publi_id", publicacionId));

            if (cantidadVentas == 0)
            {
                //Obtener ultima factura
                String idFactura = "select top 1 f.fact_id from NET_A_CERO.Facturas f order by f.fact_id DESC";
                parametros.Clear();
                Decimal idFact = Convert.ToDecimal(QueryBuilder.Instance.build(idFactura, parametros).ExecuteScalar());

                //Inserto facutra

                String insertarFactura = " INSERT INTO NET_A_CERO.Facturas (fact_id, fact_fecha, fact_monto, fact_destinatario, fact_forma_pago, fact_publi_id) " +
                                         " VALUES(@fact_id, @fact_fecha, @fact_monto, @fact_destinatario, @fact_forma_pago, @fact_publi_id ) ";
                parametros.Clear();
                parametros.Add(new SqlParameter("@fact_id", idFact + 1));
                parametros.Add(new SqlParameter("@fact_fecha", DateConfig.getInstance().getCurrentDate()));
                parametros.Add(new SqlParameter("@fact_monto", precio));
                parametros.Add(new SqlParameter("@fact_destinatario", UsuarioSesion.Usuario.id));
                parametros.Add(new SqlParameter("@fact_forma_pago", "Efectivo"));
                parametros.Add(new SqlParameter("@fact_publi_id", publicacionId));
                command = QueryBuilder.Instance.build(insertarFactura, parametros);
                command.ExecuteNonQuery();

                String insertarItems = "INSERT INTO NET_A_CERO.Items (item_cantidad, item_tipo, item_monto, item_fact_id)" +
                                       " VALUES (@item_cantidad, @item_tipo, @item_monto,@item_fact_id ) ";
                parametros.Clear();
                parametros.Add(new SqlParameter("@item_cantidad", Convert.ToInt32(textBoxCant.Text)));
                parametros.Add(new SqlParameter("@item_tipo", "Compra"));
                parametros.Add(new SqlParameter("@item_monto", precio));
                parametros.Add(new SqlParameter("@item_fact_id", Convert.ToDecimal(idFact + 1)));
                command = QueryBuilder.Instance.build(insertarItems, parametros);
                command.ExecuteNonQuery();
            }
            else
            {
                //Obtener misma factura de la Publicacion
                Decimal facturaID = Convert.ToDecimal(mapper.SelectFromWhere("MAX(fact_id)", "Facturas", "fact_publi_id", publicacionId));

                String insertarItems = "INSERT INTO NET_A_CERO.Items (item_cantidad, item_tipo, item_monto, item_fact_id)" +
                                       " VALUES (@item_cantidad, @item_tipo, @item_monto,@item_fact_id ) " +
                                       " UPDATE NET_A_CERO.Facturas SET fact_monto = fact_monto + @item_monto WHERE fact_id = @item_fact_id ";
                parametros.Clear();
                parametros.Add(new SqlParameter("@item_cantidad", Convert.ToInt32(textBoxCant.Text)));
                parametros.Add(new SqlParameter("@item_tipo", "Compra"));
                parametros.Add(new SqlParameter("@item_monto", precio));
                parametros.Add(new SqlParameter("@item_fact_id", facturaID));
                command = QueryBuilder.Instance.build(insertarItems, parametros);
                command.ExecuteNonQuery();
            }


            MessageBox.Show("Contactese con el vendedor para finalizar la compra");
            if (pedirEstado())
            {
                this.Hide();
                new VerPublicacion(publicacionId).ShowDialog();
                this.Close();
            }
            else
            {
                this.Hide();
                new BuscadorPublicaciones().ShowDialog();
                this.Close();
            }
        }
示例#3
0
 public static Boolean EsAnioValidoEnBaseAFechaSistema(String anio)
 {
     return(getNumeroFromString(anio) <= DateConfig.getInstance().getCurrentDate().Year);
 }
示例#4
0
        private void button_Guardar_Click(object sender, EventArgs e)
        {
            // Guarda en variables todos los campos de entrada
            String   nombre            = textBox_Nombre.Text;
            String   apellido          = textBox_Apellido.Text;
            String   tipoDeDocumento   = comboBox_TipoDeDocumento.Text;
            String   numeroDeDocumento = textBox_NumeroDeDoc.Text;
            DateTime fechaDeNacimiento;

            DateTime.TryParse(textBox_FechaDeNacimiento.Text, out fechaDeNacimiento);
            String mail         = textBox_Mail.Text;
            String telefono     = textBox_Telefono.Text;
            String calle        = textBox_Calle.Text;
            String numeroCalle  = textBox_Numero.Text;
            String piso         = textBox_Piso.Text;
            String departamento = textBox_Departamento.Text;
            String codigoPostal = textBox_CodigoPostal.Text;
            String localidad    = textBox_Localidad.Text;

            // Crea una contacto y se guarda su id
            Contacto contacto = new Contacto();

            try
            {
                contacto.setMail(mail);
                contacto.setTelefono(telefono);
                contacto.SetCalle(calle);
                contacto.SetNumeroCalle(numeroCalle);
                contacto.SetPiso(piso);
                contacto.SetDepartamento(departamento);
                contacto.SetCodigoPostal(codigoPostal);
                contacto.SetLocalidad(localidad);
            }
            catch (CampoVacioException exception)
            {
                MessageBox.Show("Falta completar campo: " + exception.Message);
                return;
            }
            catch (FormatoInvalidoException exception)
            {
                MessageBox.Show("Datos mal ingresados en: " + exception.Message);
                return;
            }
            // Controla que no se haya creado ya el contacto
            if (this.idContacto == 0)
            {
                this.idContacto = mapper.CrearContacto(contacto);
            }

            // Crear cliente
            try
            {
                Clientes cliente = new Clientes();
                Usuarios usuario = new Usuarios();

                cliente.SetNombre(nombre);
                cliente.SetApellido(apellido);
                cliente.SetNumeroDeDocumento(numeroDeDocumento);
                cliente.SetTipoDeDocumento(tipoDeDocumento);
                cliente.SetFechaDeNacimiento(fechaDeNacimiento);
                cliente.SetFechaDeAlta(DateConfig.getInstance().getCurrentDate());
                cliente.SetIdUsuario(idUsuario);
                cliente.SetIdContacto(idContacto);
                cliente.SetActivo(true);


                idCliente = mapper.CrearCliente(cliente);
                if (idCliente > 0)
                {
                    MessageBox.Show("Se agrego el cliente correctamente");
                }
            }
            catch (CampoVacioException exception)
            {
                MessageBox.Show("Falta completar campo: " + exception.Message);
                return;
            }
            catch (FormatoInvalidoException exception)
            {
                MessageBox.Show("Datos mal ingresados en: " + exception.Message);
                return;
            }
            catch (ClienteYaExisteException exception)
            {
                MessageBox.Show("El documento ya existe");
                return;
            }
            catch (TelefonoYaExisteException exception)
            {
                MessageBox.Show("El telefono ya existe");
                return;
            }
            catch (FechaPasadaException exception)
            {
                MessageBox.Show("Fecha no valida");
                return;
            }

            // Si el cliente lo crea el admin, crea un nuevo usuario predeterminado. Si lo crea un nuevo registro de usuario, usa el que viene por parametro
            if (idUsuario == 0)
            {
                idUsuario = CrearUsuario();
                Boolean seCreoBien = mapper.AsignarUsuarioACliente(idCliente, idUsuario);
                if (seCreoBien)
                {
                    MessageBox.Show("Se creo el usuario correctamente");
                }
            }

            mapper.AsignarRolAUsuario(this.idUsuario, "Cliente");

            VolverAlMenuPrincipal();
        }
示例#5
0
        private void button_Guardar_Click(object sender, EventArgs e)
        {
            String  tipoPublicacion = comboBox_TiposDePublicacion.Text;
            String  estado          = comboBox_Estado.Text;
            Decimal idEstado        = Convert.ToInt32(mapper.SelectFromWhere("estado_id", "Estado", "estado_desc", estado));
            String  descripcion     = textBox_Descripcion.Text;
            String  rubro           = comboBox_Rubro.Text;
            String  visibilidad     = comboBox_Visibilidad.Text;
            Boolean pregunta        = checkBox_Pregunta.Checked;
            String  stock           = textBox_Stock.Text;
            String  precio          = textBox_Precio.Text;
            Decimal idRubro         = Convert.ToInt32(mapper.SelectFromWhere("rubro_id", "Rubros", "rubro_desc_larga", rubro));
            Decimal idVisibilidad   = Convert.ToInt32(mapper.SelectFromWhere("visib_id", "Visibilidad", "visib_desc", visibilidad));

            Double   duracion = 30;
            DateTime fechaDeInicio;
            DateTime fechaDeVencimiento;

            if (estadoInicial == "Borrador")
            {
                fechaDeInicio      = DateConfig.getInstance().getCurrentDate();
                fechaDeVencimiento = Convert.ToDateTime(Convert.ToString(Convert.ToDateTime(fechaDeInicio).AddDays(duracion)));
            }
            else
            {
                fechaDeInicio      = Convert.ToDateTime(mapper.SelectFromWhere("publi_fec_inicio", "Publicaciones", "publi_id", idPublicacion));
                fechaDeVencimiento = Convert.ToDateTime(mapper.SelectFromWhere("publi_fec_vencimiento", "Publicaciones", "publi_id", idPublicacion));
            }

            // Update Publicacion
            try
            {
                Publicacion publicacion = new Publicacion();
                publicacion.SetTipo(tipoPublicacion);
                publicacion.SetDescripcion(descripcion);
                publicacion.SetStock(stock);
                publicacion.SetFechaDeVencimiento(fechaDeVencimiento);
                publicacion.SetFechaDeInicio(fechaDeInicio);
                publicacion.SetPrecio(precio);
                publicacion.SetCostoPagado(false);
                publicacion.SetPregunta(pregunta);
                publicacion.SetIdVisibilidad(idVisibilidad);
                publicacion.SetEstado(idEstado);
                publicacion.SetIdRubro(idRubro);

                Boolean pudoModificar = mapper.Modificar(idPublicacion, publicacion);
                if (pudoModificar)
                {
                    MessageBox.Show("La publicacion se modifico correctamente");
                }
            }
            catch (CampoVacioException exception)
            {
                MessageBox.Show("Falta completar campo: " + exception.Message);
                return;
            }
            catch (FormatoInvalidoException exception)
            {
                MessageBox.Show("Datos mal ingresados en: " + exception.Message);
                return;
            }
            catch (IngresePrecioEnteroException exception)
            {
                MessageBox.Show("Ingrese un precio entero");
                return;
            }

            this.Close();
        }
示例#6
0
 public LogService()
 {
     InitializeComponent();
     ConfigObj = DateConfig.LoadConfig();
 }
示例#7
0
        private void registrarFacturaButton_Click(object sender, EventArgs e)
        {
            //Region validaciones
            #region
            if (!Util.CamposEstanLlenos(campos))
            {
                Util.ShowMessage("Todos los campos son obligatorios.", MessageBoxIcon.Exclamation);
                return;
            }

            if (empresaComboBox.SelectedIndex.Equals(-1) || clienteComboBox.SelectedIndex.Equals(-1))
            {
                Util.ShowMessage("Debe completar los campos empresa y cliente antes de continuar.", MessageBoxIcon.Exclamation);
                return;
            }

            if (!mapper.empresaEstaActiva((int)empresaComboBox.SelectedValue))
            {
                Util.ShowMessage("No se pueden registrar pagos a empresas que no estén activas.", MessageBoxIcon.Exclamation);
                return;
            }
            if (!Util.EsNumero(numFacturaTextBox.Text))
            {
                Util.ShowMessage("El número de factura debe tener formato numérico y sin espacios.", MessageBoxIcon.Exclamation);
                return;
            }

            if (mapper.SeEncuentraPagaFactura(numFacturaTextBox.Text, (int)empresaComboBox.SelectedValue))
            {
                Util.ShowMessage("La factura que quiere registrar ya se encuentra paga.", MessageBoxIcon.Exclamation);
                return;
            }

            DateTime fechaVenc;
            DateTime.TryParse(fechaVencFactDateTimePicker.Text, out fechaVenc);

            if (!Util.FechaPrimeraMayorOIgualAFechaSegunda(fechaVenc, DateConfig.getInstance().getCurrentDate()))
            {
                Util.ShowMessage("La fecha de vencimiento de la factura debe ser mayor o igual a la fecha del sistema.", MessageBoxIcon.Exclamation);
                return;
            }
            #endregion
            //Validaciones terminadas

            String nroFactura = numFacturaTextBox.Text;
            int    idEmpresa  = (int)empresaComboBox.SelectedValue;
            int    idCliente  = (int)clienteComboBox.SelectedValue;
            if (mapper.ExisteFacturaParaEmpresaYCliente(nroFactura, idEmpresa, idCliente))
            {
                if (mapper.FacturaEstaActiva(nroFactura, idEmpresa))
                {
                    agregarFacturaAListado();
                }
                else
                {
                    Util.ShowMessage("La factura que quiere registrar no se encuentra activa por lo que no se la puede pagar.", MessageBoxIcon.Exclamation);
                }
            }
            else
            {
                Util.ShowMessage("No existe el número de factura " + nroFactura + " para la empresa " + mapper.getNombreEmpresa(idEmpresa) + " y el cliente " + mapper.getMailCliente(idCliente), MessageBoxIcon.Error);
            }
        }
示例#8
0
        private void button_generar_Click(object sender, EventArgs e)
        {
            String   tipo                   = comboBox_TiposDePublicacion.Text;
            String   estado                 = comboBox_Estado.Text;
            String   descripcion            = textBox_Descripcion.Text;
            DateTime fechaDeInicio          = DateConfig.getInstance().getCurrentDate();
            String   rubro                  = comboBox_Rubro.Text;
            String   visibilidadDescripcion = comboBox_Visibilidad.Text;
            Boolean  pregunta               = radioButton_Pregunta.Checked;
            String   stock                  = textBox_Stock.Text;
            String   precio                 = textBox_Precio.Text;
            String   tipoPublicacion        = comboBox_TiposDePublicacion.Text;

            Decimal idRubro       = Convert.ToDecimal(mapper.SelectFromWhere("rubro_id", "Rubros", "rubro_desc_larga", rubro));
            Decimal idEstado      = Convert.ToDecimal(mapper.SelectFromWhere("estado_id", "Estado", "estado_desc", estado));
            Decimal idVisibilidad = Convert.ToDecimal(mapper.SelectFromWhere("visib_id", "Visibilidad", "visib_desc", visibilidadDescripcion));


            //La desicion es que la duracion default de las publicaciones sea de un mes (30 dias)
            Double   duracion           = 30;
            DateTime fechaDeVencimiento = Convert.ToDateTime(Convert.ToString(Convert.ToDateTime(fechaDeInicio).AddDays(duracion)));

            // Insert Publicacion
            try
            {
                Publicacion publicacion = new Publicacion();
                publicacion.SetTipo(tipoPublicacion);
                publicacion.SetDescripcion(descripcion);
                publicacion.SetStock(stock);
                publicacion.SetFechaDeVencimiento(fechaDeVencimiento);
                publicacion.SetFechaDeInicio(fechaDeInicio);
                publicacion.SetPrecio(precio);
                publicacion.SetCostoPagado(false);
                publicacion.SetPregunta(pregunta);
                publicacion.SetIdUsuario(UsuarioSesion.Usuario.id);
                publicacion.SetIdVisibilidad(idVisibilidad);
                publicacion.SetEstado(idEstado);
                publicacion.SetIdRubro(idRubro);

                Decimal idPublicacion = mapper.CrearPublicacion(publicacion);
                if (idPublicacion > 0)
                {
                    // Obtengo el id de la nueva factura
                    String idFactura = "select top 1 f.fact_id from NET_A_CERO.Facturas f order by f.fact_id DESC";
                    parametros.Clear();
                    Decimal idFact = Convert.ToDecimal(QueryBuilder.Instance.build(idFactura, parametros).ExecuteScalar());

                    //Obtengo monto
                    Decimal porcentaje = Convert.ToDecimal(mapper.SelectFromWhere("visib_porcentaje", "Visibilidad", "visib_desc", visibilidadDescripcion));

                    //Inserto facutra

                    String insertarFactura = " INSERT INTO NET_A_CERO.Facturas (fact_id, fact_fecha, fact_monto, fact_destinatario, fact_forma_pago, fact_publi_id) " +
                                             " VALUES(@fact_id, @fact_fecha, @fact_monto, @fact_destinatario, @fact_forma_pago, @fact_publi_id ) ";
                    parametros.Clear();
                    parametros.Add(new SqlParameter("@fact_id", idFact + 1));
                    parametros.Add(new SqlParameter("@fact_fecha", fechaDeInicio));
                    parametros.Add(new SqlParameter("@fact_monto", (porcentaje * Convert.ToDecimal(precio))));
                    parametros.Add(new SqlParameter("@fact_destinatario", UsuarioSesion.Usuario.id));
                    parametros.Add(new SqlParameter("@fact_forma_pago", "Efectivo"));
                    parametros.Add(new SqlParameter("@fact_publi_id", idPublicacion));
                    command = QueryBuilder.Instance.build(insertarFactura, parametros);
                    command.ExecuteNonQuery();

                    // Inserto los items factura de costos por publicacion
                    String insertarItems = "INSERT INTO NET_A_CERO.Items (item_cantidad, item_tipo, item_monto, item_fact_id)" +
                                           " VALUES (@item_cantidad, @item_tipo, @item_monto,@item_fact_id ) ";
                    parametros.Clear();
                    parametros.Add(new SqlParameter("@item_cantidad", 1));
                    parametros.Add(new SqlParameter("@item_tipo", "Costo Publicacion"));
                    parametros.Add(new SqlParameter("@item_monto", (porcentaje * Convert.ToInt32(precio))));
                    parametros.Add(new SqlParameter("@item_fact_id", idFact + 1));
                    command = QueryBuilder.Instance.build(insertarItems, parametros);
                    command.ExecuteNonQuery();

                    MessageBox.Show("Se agrego la publicacion correctamente");
                }
            }
            catch (CampoVacioException exception)
            {
                MessageBox.Show("Falta completar campo: " + exception.Message);
                return;
            }
            catch (FormatoInvalidoException exception)
            {
                MessageBox.Show("Datos mal ingresados en: " + exception.Message);
                return;
            }
            catch (FechaPasadaException exception)
            {
                MessageBox.Show("Fecha no valida");
                return;
            }

            VolverAlMenuPrincipal();
        }