Esempio n. 1
0
        private void ButtonCriar_Click(object sender, EventArgs e)
        {
            if (ValidarForm())
            {
                CadernetaModelo caderneta = new CadernetaModelo(
                    TextNome.Text,
                    TextQuantidade.Text,
                    TextQuantidadeCarteira.Text,
                    TextCarteiraCusto.Text);
                CromoGestLibrary.GlobalConfig.Connection.NewCaderneta(caderneta);
                cadernetasExistentes.Add(caderneta);
                LigaLista();

                // TODO - Apagar proxima linha quando implentar bindagem aos TextBoxes
                ComboBoxCadernetas.SelectedValue = caderneta.Id;

                LigaGridPaginas();
                ToolStripLabelNovaCaderneta.Text = "Proximo passo é preencher informação das páginas. Descrição da pagina e quantidade de cromos por pagina";
                ToolStripNovaCaderneta.Update();
            }
            else
            {
                MessageBox.Show("Campos incorrectos, verificar e tentar novamente.");
            }
        }
Esempio n. 2
0
 private void ButtonGravar_Click(object sender, EventArgs e)
 {
     if (ConfirmadoGravar() && DadosValidados())
     {
         CadernetaModelo caderneta = (CadernetaModelo)ComboBoxCadernetas.SelectedItem;
         if (caderneta.Paginas.Count == 0)
         {
             int totalCromos  = SomatorioCromosPaginas();
             int cromoCounter = 0;
             int nrows        = DataGridViewPaginas.Rows.Count - 1;
             for (int j = 0; j < nrows; j++)
             {
                 int cromosPagina = Convert.ToInt32(DataGridViewPaginas.Rows[j].Cells["Quantidade"].Value.ToString());
                 caderneta.Paginas.Add(new PaginaModelo(
                                           DataGridViewPaginas.Rows[j].Cells["Pagina"].Value.ToString(),
                                           idCaderneta: caderneta.Id
                                           ));
                 for (int i = 0; i < cromosPagina; i++)
                 {
                     string descricaoCromo = DataGridViewCromos.Rows[cromoCounter++].Cells["Descricao"].Value.ToString();
                     caderneta.Paginas.Last <PaginaModelo>().Cromos.Add(new CromoModelo(
                                                                            numero: cromoCounter.ToString(),
                                                                            descricao: descricaoCromo,
                                                                            idPagina: caderneta.Paginas.Last <PaginaModelo>().Id
                                                                            ));
                 }
             }
         }
         CromoGestLibrary.GlobalConfig.Connection.PopulateCaderneta(caderneta);
         MessageBox.Show("Caderneta Criada com sucesso!");
     }
 }
Esempio n. 3
0
        public EditarTrocaForm(TrocasForm formArgPai, CadernetaModelo cadernetaArg, TrocaModelo troca)
        {
            InitializeComponent();
            if (cadernetaArg == null)
            {
                this.Hide();
                formArgPai.Show();
                this.Close();
            }
            trocaEditada        = troca;
            formPai             = formArgPai;
            caderneta           = cadernetaArg;
            cadernetaLabel.Text = $"Caderneta: {caderneta.Nome}";

            textBoxNome.DataBindings.Add("Text", trocaEditada, "Dest_Nome");
            textBoxIniciais.DataBindings.Add("Text", trocaEditada, "Dest_Iniciais");
            textBoxOrigem.DataBindings.Add("Text", trocaEditada, "Dest_Origem");
            textBoxReputacao.DataBindings.Add("Text", trocaEditada, "Dest_Reputacao");
            textBoxMorada.DataBindings.Add("Text", trocaEditada, "Dest_Morada");
            dateTimePickerProposta.DataBindings.Add("Text", trocaEditada, "DataProposta");
            dateTimePickerEnvio.DataBindings.Add("Text", trocaEditada, "DataEnvio");
            dateTimePickerRececao.DataBindings.Add("Text", trocaEditada, "DataRececao");

            trocaEditada.ProgressoProvisorio = trocaEditada.Progresso;
            comboBoxProgresso.DataBindings.Add("Text", trocaEditada, "ProgressoProvisorio");

            trocaEditada.ListCromosEnviadosProvisoria = trocaEditada.ListCromosEnviados;
            textBoxCromosEnviados.DataBindings.Add("Text", trocaEditada, "ListCromosEnviadosProvisoria");

            trocaEditada.ListCromosRecebidosProvisoria = trocaEditada.ListCromosRecebidos;
            textBoxCromosRecebidos.DataBindings.Add("Text", trocaEditada, "ListCromosRecebidosProvisoria");
        }
Esempio n. 4
0
        private void LoadCadernetaPopulate(CadernetaModelo caderneta, int numMaxCromosNasPaginas, int numPaginas)
        {
            for (int i = 0; i < numPaginas; i++)
            {
                ((DataGridViewCromoCell)dataGridViewCaderneta.Rows[i].Cells[0]).Value      = caderneta.Paginas[i].Nome;
                ((DataGridViewCromoCell)dataGridViewCaderneta.Rows[i].Cells[0]).PaginaCell = true;
            }

            for (int row = 0; row < numPaginas; row++)
            {
                for (int col = 0; col < numMaxCromosNasPaginas; col++)
                {
                    if (col < caderneta.Paginas[row].Cromos.Count)
                    {
                        ((DataGridViewCromoCell)dataGridViewCaderneta.Rows[row].Cells[col + 1]).Value       = caderneta.Paginas[row].Cromos[col].Numero;
                        ((DataGridViewCromoCell)dataGridViewCaderneta.Rows[row].Cells[col + 1]).NumCromos   = caderneta.Paginas[row].Cromos[col].Quantidade;
                        ((DataGridViewCromoCell)dataGridViewCaderneta.Rows[row].Cells[col + 1]).ToolTipText = caderneta.Paginas[row].Cromos[col].Descricao;
                    }
                    else
                    {
                        ((DataGridViewCromoCell)dataGridViewCaderneta.Rows[row].Cells[col + 1]).EmptyCell = true;
                    }
                }
            }
        }
Esempio n. 5
0
        private int GetNumMaxCromosNasPaginas(CadernetaModelo caderneta)
        {
            int nMax = 0;

            foreach (PaginaModelo pagina in caderneta.Paginas)
            {
                nMax = (nMax < pagina.Cromos.Count) ? pagina.Cromos.Count : nMax;
            }

            return(nMax);
        }
Esempio n. 6
0
        private static DynamicParameters CriaPagina(CadernetaModelo caderneta, IDbConnection connection, PaginaModelo pagina)
        {
            var p = new DynamicParameters();

            p.Add("@Nome", pagina.Nome);
            p.Add("@IdCaderneta", caderneta.Id);
            p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);
            connection.Execute("dbo.spCriaPagina", p, commandType: CommandType.StoredProcedure);
            pagina.Id = p.Get <int>("@Id");
            return(p);
        }
Esempio n. 7
0
        private void ButtonAceitarPaginas_Click(object sender, EventArgs e)
        {
            int             quantidade = SomatorioCromosPaginas();
            CadernetaModelo caderneta  = (CadernetaModelo)ComboBoxCadernetas.SelectedItem;
            PaginaModelo    novaPagina;
            CromoModelo     novoCromo;

            if (!int.TryParse(TextQuantidade.Text, out int quantidadeText))
            {
                MessageBox.Show("Quantidade de cromos invalida!");
            }
            else if (quantidade == quantidadeText)
            {
                LigaGrid(DataGridViewPaginas, false);
                LigaButtonsPaginas(false);
                cromosCadernetaSelecionada = null;
                cromosCadernetaSelecionada = new List <CromoModelo>();

                LigaGrid(DataGridViewCromos, true);
                LigaButtonsCromos(true);
                int cromosTotal = 1;
                int paginas     = DataGridViewPaginas.Rows.Count - 1;
                for (int p = 0; p < paginas; p++)
                {
                    string novaPaginaNome = DataGridViewPaginas.Rows[p].Cells["Nome"].Value.ToString();

                    novaPagina = new PaginaModelo(nome: novaPaginaNome, idCaderneta: caderneta.Id);
                    caderneta.Paginas.Add(novaPagina);
                    int cromos = Convert.ToInt32(DataGridViewPaginas.Rows[p].Cells["QuantidadeCromos"].Value);
                    for (int c = 0; c < cromos; c++)
                    {
                        string novoCromoNumero    = (cromosTotal++).ToString();
                        string novoCromoDescricao = "";
                        novoCromo = new CromoModelo(numero: novoCromoNumero, descricao: novoCromoDescricao, idPagina: novaPagina.Id);
                        caderneta.Paginas[p].Cromos.Add(novoCromo);
                        cromosCadernetaSelecionada.Add(novoCromo);
                    }
                }
                //DataGridViewCromos.DataSource = null;
                DataGridViewCromos.DataSource = cromosCadernetaSelecionada;
                DataGridViewCromos.Refresh();
                ToolStripLabelNovaCaderneta.Text = "Criação da Caderneta terminada.";
                ToolStripNovaCaderneta.Update();
            }
            else
            {
                MessageBox.Show("Erro: Quantidade errada de cromos. O total de cromos tem de ser igual à soma dos cromo das paginas.");
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Contabiliza a quantidade de cromos que a caderneta tem populados
        /// </summary>
        /// <param name="IdCaderneta">Quantidade de cromos populados</param>
        /// <returns></returns>
        public int TotalCromos(CadernetaModelo Caderneta)
        {
            if (Caderneta == null)
            {
                return(0);
            }
            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnStringLocalDB(bd)))
            {
                var p = new DynamicParameters();
                p.Add("@IdCaderneta", Caderneta.Id);

                int r = connection.QuerySingle <int>("spTotalCromos", p, commandType: CommandType.StoredProcedure);
                return(r);
            }
        }
Esempio n. 9
0
        public NovaTrocaForm(TrocasForm formArgPai, CadernetaModelo cadernetaArg)
        {
            InitializeComponent();
            if (cadernetaArg == null)
            {
                this.Hide();
                formArgPai.Show();
                this.Close();
            }

            charSeparador = CromoGestLibrary.GlobalConfig.Connection.GetConfig(ConfigCategory.CharSeparador.Value)[0];

            formPai             = formArgPai;
            caderneta           = cadernetaArg;
            cadernetaLabel.Text = $"Caderneta: {caderneta.Nome}";
        }
Esempio n. 10
0
        private void CadernetasComboBox_SelectedValueChanged(object sender, EventArgs e)
        {
            // TODO - Bindar TextBoxes com ComboBoxes para evitar o HORROR que se segue
            CadernetaModelo caderneta = ((CadernetaModelo)ComboBoxCadernetas.SelectedItem);

            if (caderneta != null)
            {
                TextNome.Text               = caderneta.Nome;
                TextQuantidade.Text         = caderneta.QuantidadeCromos.ToString();
                TextQuantidadeCarteira.Text = caderneta.QuantidadeCromosCarteira.ToString();
                TextCarteiraCusto.Text      = caderneta.CustoCarteira.ToString();
                if (CromoGestLibrary.GlobalConfig.Connection.TotalCromos(caderneta) == 0)
                {
                    LimpaGrids();
                    LigaGrid(DataGridViewPaginas, true);
                    DataGridViewPaginas.Enabled      = true;
                    ButtonAceitarPaginas.Enabled     = true;
                    ToolStripLabelNovaCaderneta.Text = "Caderneta sem Paginas nem Cromos inseridos. Por favor preencher a informação das Paginas primeiro";
                    ToolStripNovaCaderneta.Update();
                }
                else
                {
                    DataGridViewPaginas.DataSource = ((CadernetaModelo)ComboBoxCadernetas.SelectedItem).Paginas;
                    WireGridCromos();
                    LigaGrid(DataGridViewCromos, false);
                    LigaButtonsCromos(false);

                    LigaGrid(DataGridViewPaginas, false);
                    DataGridViewPaginas.Enabled  = false;
                    ButtonAceitarPaginas.Enabled = false;

                    LigaTextboxes(false);

                    ButtonCriar.Enabled = false;
                    ToolStripLabelNovaCaderneta.Text = "Criação da Caderneta terminada.";
                    ToolStripNovaCaderneta.Update();
                }
            }
            else
            {
                ToolStripLabelNovaCaderneta.Text = "Preencher informação geral da caderneta";
                ToolStripNovaCaderneta.Update();
            }
        }
Esempio n. 11
0
        private bool CromosValidos()
        {
            if (ComboBoxCadernetas.SelectedItem == null)
            {
                MessageBox.Show("Sem cadernetas");
                return(false);
            }

            CadernetaModelo caderneta = (CadernetaModelo)ComboBoxCadernetas.SelectedItem;

            if (CromoGestLibrary.GlobalConfig.Connection.TotalCromos(caderneta) == 0)
            {
                MessageBox.Show("Caderneta existe mas não está populada com informacão das paginas e cromos. " +
                                "Por favor sair e ir 'Nova Caderneta' selecionar esta caderneta e preencher a informação em falta.");
                LimpaListas();
                return(false);
            }

            int ncromos = dataGridViewCromos.Rows.Count - 1;

            for (int i = 0; i < ncromos; i++)
            {
                string row = dataGridViewCromos.Rows[i].Cells["Cromos"].Value.ToString();
                if (row.Contains(charSeparador))
                {
                    string[] cromos = row.Replace(" ", string.Empty).Split(charSeparador);
                    foreach (string cromo in cromos)
                    {
                        if (!CromoValido(cromo))
                        {
                            MessageBox.Show($"Cromo {cromo} não existe na caderneta, corriga e tente de novo.");
                            return(false);
                        }
                    }
                }
                else if (!CromoValido(row))
                {
                    MessageBox.Show($"Cromo {row} não existe na caderneta, corriga e tente de novo.");
                    return(false);
                }
            }
            return(true);
        }
Esempio n. 12
0
        /// <summary>
        /// Procura e devolve as trocas de existentes de uma dada caderneta.
        /// </summary>
        /// <param name="caderneta">Caderneta das trocas</param>
        /// <returns>Trocas da cadernta</returns>
        public List <TrocaModelo> GetTrocas(CadernetaModelo caderneta)
        {
            if (caderneta == null)
            {
                return(null);
            }
            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnStringLocalDB(bd)))
            {
                var p = new DynamicParameters();
                p.Add("@IdCaderneta", caderneta.Id);
                List <TrocaModelo> trocas = connection.Query <TrocaModelo>("spGetTrocas", p, commandType: CommandType.StoredProcedure).ToList();

                foreach (TrocaModelo troca in trocas)
                {
                    p = GetTroca(connection, troca);
                }
                return(trocas);
            }
        }
Esempio n. 13
0
        /// <summary>
        /// populaciona a caderneta na base de dados com as informacoes dos cromos.
        /// </summary>
        /// <param name="caderneta"></param>
        /// <returns></returns>
        public void PopulateCaderneta(CadernetaModelo caderneta)
        {
            if (caderneta == null)
            {
                return;
            }
            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnStringLocalDB(bd)))
            {
                foreach (PaginaModelo pagina in caderneta.Paginas)
                {
                    DynamicParameters p = CriaPagina(caderneta, connection, pagina);

                    foreach (CromoModelo cromo in pagina.Cromos)
                    {
                        p = CriaCromo(connection, pagina, cromo);
                    }
                }
            }
        }
Esempio n. 14
0
        /// <summary>
        /// Cria uma Caderneta na Base de dados MS SQL
        /// </summary>
        /// <param name="Caderneta">Caderneta a inserir</param>
        /// <returns>Caderneta que foi inserida</returns>
        public void NewCaderneta(CadernetaModelo caderneta)
        {
            if (caderneta == null)
            {
                return;
            }
            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnStringLocalDB(bd)))
            {
                var p = new DynamicParameters();
                p.Add("@Nome", caderneta.Nome);
                p.Add("@QuantidadeCromos", caderneta.QuantidadeCromos);
                p.Add("@QuantidadeCromosCarteira", caderneta.QuantidadeCromosCarteira);
                p.Add("@CustoCarteira", caderneta.CustoCarteira);
                p.Add("@id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);

                connection.Execute("dbo.spCriaCaderneta", p, commandType: CommandType.StoredProcedure);

                caderneta.Id = p.Get <int>("@id");
            }
        }
Esempio n. 15
0
        public TrocaModelo GetTrocaByNum(CadernetaModelo caderneta, int numTroca)
        {
            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnStringLocalDB(bd)))
            {
                var p = new DynamicParameters();
                p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output);
                p.Add("@Num", numTroca);
                p.Add("@IdCaderneta", caderneta.Id);

                TrocaModelo troca = connection.QuerySingle <TrocaModelo>("spGetTrocaByNum", p, commandType: CommandType.StoredProcedure);
                GetTroca(connection, troca);
                DestinatarioModelo destinatario = GetDestinatario(troca.Dest_Id);
                troca.Dest_Iniciais  = destinatario.Iniciais;
                troca.Dest_Morada    = destinatario.Morada;
                troca.Dest_Nome      = destinatario.Nome;
                troca.Dest_Origem    = destinatario.Origem;
                troca.Dest_Reputacao = destinatario.Reputação;

                return(troca);
            }
        }