예제 #1
0
        private void CbbDevs_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbbDevs.SelectedItem.ToString() != NOVO)
            {
                btnAddDev.Text = "Atualizar";
                ColaboradorDTO dev = new ColaboradorDTO();

                if (cbbContract.SelectedValue.ToString() == UtilDTO.CONTRACTS.HOUSE.ToString())
                {
                    dev = config
                          .BaneseDes
                          .Find(x => x.Name == cbbDevs.SelectedItem.ToString());
                }
                else
                {
                    dev = config
                          .Partners.Find(p => p.Name == cbbPartner.SelectedItem.ToString())
                          .Contracts.Find(c => c.Name == cbbContract.SelectedValue.ToString())
                          .Collaborators
                          .Find(x => x.Name == cbbDevs.SelectedItem.ToString());
                }

                txbDevName.Text = dev.Name;
                ckbHalf.Checked = dev.WorksHalfDay;
            }
            else
            {
                btnAddDev.Text = "Adicionar";
                txbDevName.Clear();
                ckbHalf.Checked = false;
            }
        }
예제 #2
0
        private void BtnRemoveDev_Click(object sender, System.EventArgs e)
        {
            if (lsbPartners.SelectedItem == null ||
                lsbContracts.SelectedItem == null ||
                lsbDevs.SelectedItem == null)
            {
                txbResult.Text = "Para remover um dev antes deve selecionar o fornecedor, o contrato e o dev a ser removido.";
            }
            else
            {
                config
                .Partners.Find(p => p == selectedPartner)
                .Contracts.Find(c => c == selectedContract)
                .Collaborators
                .Remove(selectedDev);

                lsbDevs.Items.Remove(selectedDev.Name);
                selectedDev = null;

                txbDevName.Clear();
                ckbDevWorksHalfDay.Checked = false;

                ShowLog("Dev removido do time.");
            }
        }
예제 #3
0
        private void BtnAddDev_Click(object sender, System.EventArgs e)
        {
            try
            {
                ValidateDevData();
                var newDev = new ColaboradorDTO()
                {
                    Name         = txbDevName.Text,
                    WorksHalfDay = ckbDevWorksHalfDay.Checked
                };

                config
                .Partners.Find(p => p == selectedPartner)
                .Contracts.Find(c => c == selectedContract)
                .Collaborators
                .Remove(config.Partners.Find(p => p == selectedPartner).Contracts.Find(c => c == selectedContract).Collaborators.Find(x => x.Name == newDev.Name));
                config
                .Partners.Find(p => p == selectedPartner)
                .Contracts.Find(c => c == selectedContract)
                .Collaborators
                .Add(newDev);

                lsbDevs.Items.Remove(newDev.Name);
                lsbDevs.Items.Add(newDev.Name);

                txbDevName.Clear();
                ckbDevWorksHalfDay.Checked = false;

                ShowLog("Colaborador adicionado.");
            }
            catch (Exception ex)
            {
                txbResult.Text = ex.Message;
            }
        }
예제 #4
0
        private void LsbHouseDevs_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lsbHouseDevs.SelectedItem != null)
            {
                selectedHouseDev = config.BaneseDes.Find(c => c.Name == lsbHouseDevs.SelectedItem.ToString());

                txbHouseDevName.Text            = selectedHouseDev.Name;
                ckbHouseDevWorksHalfDay.Checked = selectedHouseDev.WorksHalfDay;
            }
        }
예제 #5
0
        private void BtnAddDev_Click(object sender, EventArgs e)
        {
            try
            {
                ValidateDevData();
                ColaboradorDTO newDev = new ColaboradorDTO()
                {
                    Name         = txbDevName.Text,
                    WorksHalfDay = ckbHalf.Checked
                };

                if (cbbDevs.SelectedItem.ToString() == NOVO)
                {
                    if (cbbContract.SelectedValue.ToString() == UtilDTO.CONTRACTS.HOUSE.ToString())
                    {
                        config.BaneseDes.Add(newDev);
                    }
                    else
                    {
                        config.Partners
                        .Find(x => x.Name == cbbPartner.SelectedItem.ToString())
                        .Contracts
                        .Find(x => x.Name == cbbContract.SelectedValue.ToString())
                        .Collaborators
                        .Add(newDev);
                    }
                }
                else
                {
                    var oldDevData = config.Partners
                                     .Find(x => x.Name == cbbPartner.SelectedItem.ToString())
                                     .Contracts
                                     .Find(x => x.Name == cbbContract.SelectedValue.ToString())
                                     .Collaborators
                                     .Find(dev => dev.Name == cbbDevs.SelectedItem.ToString());

                    var contract = config.Partners
                                   .Find(x => x.Name == cbbPartner.SelectedItem.ToString())
                                   .Contracts
                                   .Find(x => x.Name == cbbContract.SelectedValue.ToString());

                    contract.Collaborators.Remove(oldDevData);
                    contract.Collaborators.Add(newDev);
                }

                txbDevName.Clear();
                UpdateDevsCombo();
                btnGenerateFilled.Enabled = true;
                PrintUserLog($"Desenvolvedor '{newDev.Name}' adicionado ao contrato '{cbbContract.SelectedValue}' do fornecedor '{cbbPartner.SelectedItem}'");
            }
            catch (Exception ex)
            {
                txbResult.Text = $"Erro não tratado. Mensagem:\n{ex.Message}\n\nPilha:\n{ex.StackTrace}";
            }
        }
예제 #6
0
 public IList <ColaboradorDTO> SelectColaborador(ColaboradorDTO colaborador)
 {
     try
     {
         return(base.SelectColaborador(colaborador));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #7
0
 public IActionResult Criar([FromBody] ColaboradorDTO colaborador)
 {
     try
     {
         var result = fachada.CriarColaborador(Mapper.Map <Colaborador>(colaborador));
         return(CreatedAtRoute("GetColaborador", new { id = result.Id }, result));
     }
     catch (Exception e)
     {
         return(StatusCode(500, e.Message));
     }
 }
예제 #8
0
        private void LsbDevs_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (lsbDevs.SelectedItem != null)
            {
                selectedDev = config
                              .Partners.Find(p => p == selectedPartner)
                              .Contracts.Find(c => c == selectedContract)
                              .Collaborators.Find(x => x.Name == lsbDevs.SelectedItem.ToString());

                txbDevName.Text            = selectedDev.Name;
                ckbDevWorksHalfDay.Checked = selectedDev.WorksHalfDay;
            }
        }
예제 #9
0
        public void gerarEspelho()
        {
            ColaboradorDTO colaborador = PontoFechamentoJornadaSelected.Colaborador;

            string caminho = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            string arquivo = caminho + @"\" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".docx";

            File.Copy(caminho + @"\Layout\LayoutPonto.docx", arquivo);

            using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(arquivo, true))
            {
                string docText = null;
                using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
                {
                    docText = sr.ReadToEnd();
                }

                TextInfo TI = new CultureInfo("pt-BR", false).TextInfo;

                Regex regexText = new Regex("#EMPREGADOR#");
                docText = regexText.Replace(docText, TI.ToTitleCase(Empresa.RazaoSocial));

                regexText = new Regex("#ENDERECO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(Empresa.CodigoIbgeCidade.ToString()));

                regexText = new Regex("#EMPREGADO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(colaborador.Pessoa.Nome));

                regexText = new Regex("#ADMISSAO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(colaborador.DataAdmissao.ToString()));

                regexText = new Regex("#EMITIDO_EM#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(DateTime.Now.ToString("dd/MM/yyyy")));

                regexText = new Regex("#PERIODO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase("Periodo"));

                using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
                {
                    sw.Write(docText);
                }

                /// EXERCICIO:
                /// Gere o espelho de ponto usando o Microsoft Word - Observe o módulo Contratos

                MessageBox.Show("Arquivo " + arquivo + " gerado com sucesso!");
            }
        }
예제 #10
0
        public async Task <IActionResult> CadastrarColaborador([FromBody] ColaboradorDTO colaborador)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var colaboradorAdicionado = await _colaboradorRepository.AdicionarColaborador(colaborador);

            if (colaboradorAdicionado == null)
            {
                return(UnprocessableEntity(new Falha(Constantes.Mensagens.ErroProcessamento)));
            }

            return(Ok(colaboradorAdicionado));
        }
예제 #11
0
 public IList <ColaboradorDTO> selectColaborador(ColaboradorDTO colaborador)
 {
     try
     {
         IList <ColaboradorDTO> resultado = null;
         using (ISession session = NHibernateHelper.getSessionFactory().OpenSession())
         {
             NHibernateDAL <ColaboradorDTO> colaboradorDAL = new NHibernateDAL <ColaboradorDTO>(session);
             resultado = colaboradorDAL.select(colaborador);
         }
         return(resultado);
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message);
     }
 }
        public void gerarEspelho()
        {
            ColaboradorDTO colaborador = PontoFechamentoJornadaSelected.Colaborador;

            string caminho = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            string arquivo = caminho + @"\" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".docx";

            File.Copy(caminho + @"\Layout\LayoutPonto.docx", arquivo);

            using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(arquivo, true))
            {
                string docText = null;
                using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
                {
                    docText = sr.ReadToEnd();
                }

                TextInfo TI = new CultureInfo("pt-BR", false).TextInfo;

                Regex regexText = new Regex("#EMPREGADOR#");
                docText = regexText.Replace(docText, TI.ToTitleCase(Empresa.RazaoSocial));

                regexText = new Regex("#ENDERECO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(Empresa.CodigoIbgeCidade.ToString()));

                regexText = new Regex("#EMPREGADO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(colaborador.Pessoa.Nome));

                regexText = new Regex("#ADMISSAO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(colaborador.DataAdmissao.ToString()));

                regexText = new Regex("#EMITIDO_EM#");
                docText   = regexText.Replace(docText, TI.ToTitleCase(DateTime.Now.ToString("dd/MM/yyyy")));

                regexText = new Regex("#PERIODO#");
                docText   = regexText.Replace(docText, TI.ToTitleCase("Geral - Filtro será implementado no segundo ciclo do ERP"));

                using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
                {
                    sw.Write(docText);
                }

                MessageBox.Show("Arquivo " + arquivo + " gerado com sucesso! \n Esse processo ilustra como gerar o Espelho de Ponto para o Word. \n O relatório será construído no segundo ciclo do ERP.");
            }
        }
예제 #13
0
        private void BtnRemoveHouseDev_Click(object sender, System.EventArgs e)
        {
            if (lsbHouseDevs.SelectedItem == null)
            {
                txbResult.Text = "Para remover um colaborador da casa antes deve selecionar o dev que deseja remover.";
            }
            else
            {
                config.BaneseDes.Remove(selectedHouseDev);
                lsbHouseDevs.Items.Remove(selectedHouseDev.Name);
                selectedHouseDev = null;

                txbHouseDevName.Clear();
                ckbHouseDevWorksHalfDay.Checked = false;

                ShowLog("Colaborador adicionado.");
            }
        }
예제 #14
0
        public async Task <Colaborador> AdicionarColaborador(ColaboradorDTO colaborador)
        {
            var resposta = await _colaboradorService.AdicionarColaborador(
                colaborador.Nome,
                colaborador.Salario,
                colaborador.Idade
                );

            if (resposta == null)
            {
                return(null);
            }

            return(new Colaborador(
                       status: resposta.Status,
                       nome: resposta.Dados?.Nome,
                       id: resposta.Dados?.Id
                       ));
        }
예제 #15
0
        /// EXERCICIO
        /// Implemente a geração do arquivo de acordo com o padrão FEBRABAN

        public InformativosGuiasPrincipal()
        {
            InitializeComponent();
            ListaColaborador = new ObservableCollection <ColaboradorDTO>();

            using (ServicoFolhaClient Servico = new ServicoFolhaClient())
            {
                ColaboradorDTO Colaborador = new ColaboradorDTO();

                List <ColaboradorDTO> ListaServ = Servico.selectColaboradorPagina(0, 1, Colaborador);

                ListaColaborador.Clear();

                foreach (ColaboradorDTO objAdd in ListaServ)
                {
                    ListaColaborador.Add(objAdd);
                }
            }
        }
예제 #16
0
        private void BtnAddHouseDev_Click(object sender, System.EventArgs e)
        {
            if (string.IsNullOrEmpty(txbHouseDevName.Text))
            {
                txbResult.Text = "Você precisa fornecer o nome do colaborador para ser adicionado.";
            }
            else
            {
                var newDev = new ColaboradorDTO()
                {
                    Name         = txbHouseDevName.Text,
                    WorksHalfDay = ckbHouseDevWorksHalfDay.Checked
                };
                config.BaneseDes.Add(newDev);
                lsbHouseDevs.Items.Add(newDev.Name);

                txbHouseDevName.Clear();
                ckbHouseDevWorksHalfDay.Checked = false;

                ShowLog("Colaborador da casa adicionado.");
            }
        }
예제 #17
0
 public IList <ColaboradorDTO> selectColaboradorPagina(int primeiroResultado, int quantidadeResultados, ColaboradorDTO colaborador)
 {
     try
     {
         IList <ColaboradorDTO> resultado = null;
         using (ISession session = NHibernateHelper.getSessionFactory().OpenSession())
         {
             NHibernateDAL <ColaboradorDTO> DAL = new NHibernateDAL <ColaboradorDTO>(session);
             resultado = DAL.selectPagina <ColaboradorDTO>(primeiroResultado, quantidadeResultados, colaborador);
         }
         return(resultado);
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }
예제 #18
0
 public new List <ColaboradorDTO> selectColaborador(ColaboradorDTO dtoPesquisa)
 {
     return(base.selectColaborador(dtoPesquisa));
 }
예제 #19
0
        public void importarArquivo(string pNomeArquivo)
        {
            ComponentePonto.ComponentePonto ponto = new ComponentePonto.ComponentePonto();
            ponto.processarArquivoAFD(pNomeArquivo);

            // pega o ID do relógio de ponto
            PontoRelogioDTO relogio = new PontoRelogioDTO();

            relogio.NumeroSerie = ponto.pontoAFD.AFDCabecalho.Campo07;
            try
            {
                using (ServicoPontoClient serv = new ServicoPontoClient())
                {
                    List <PontoRelogioDTO> listaRelogio = serv.selectPontoRelogio(relogio);

                    if (listaRelogio.Count > 0)
                    {
                        relogio = listaRelogio[0];
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }


            // verificar se os dados estão no banco de dados e grava os que não estão
            for (int i = 0; i < ponto.pontoAFD.ListaAFDRegistro3.Count; i++)
            {
                // pega o ID do colaborador
                ColaboradorDTO colaborador = new ColaboradorDTO();
                colaborador.PisNumero = ponto.pontoAFD.ListaAFDRegistro3[i].Campo05;
                try
                {
                    using (ServicoPontoClient serv = new ServicoPontoClient())
                    {
                        List <ColaboradorDTO> listaColaborador = serv.selectColaborador(colaborador);

                        if (listaColaborador.Count > 0)
                        {
                            colaborador = listaColaborador[0];

                            PontoMarcacaoDTO marcacao = new PontoMarcacaoDTO();
                            marcacao.Colaborador  = colaborador;
                            marcacao.PontoRelogio = relogio;
                            string dataMarcacao = ponto.pontoAFD.ListaAFDRegistro3[i].Campo03.Substring(0, 2) + "/" +
                                                  ponto.pontoAFD.ListaAFDRegistro3[i].Campo03.Substring(2, 2) + "/" +
                                                  ponto.pontoAFD.ListaAFDRegistro3[i].Campo03.Substring(4, 4);
                            marcacao.DataMarcacao = System.DateTime.Parse(dataMarcacao);

                            List <PontoMarcacaoDTO> listaMarcacao = serv.selectPontoMarcacao(marcacao);
                            if (listaMarcacao.Count == 0)
                            {
                                marcacao.Nsr = int.Parse(ponto.pontoAFD.ListaAFDRegistro3[i].Campo01);

                                string horaMarcacao = ponto.pontoAFD.ListaAFDRegistro3[i].Campo04.Substring(0, 2) + ":" +
                                                      ponto.pontoAFD.ListaAFDRegistro3[i].Campo04.Substring(2, 2) + ":00";
                                marcacao.HoraMarcacao = horaMarcacao;
                                marcacao.TipoRegistro = "O";

                                serv.salvarAtualizarPontoMarcacao(marcacao);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
예제 #20
0
        private void SetDevSprintWithContractsAndDevs()
        {
            foreach (var selectedDevSprint in sprintsDevList)
            {
                //Caso a lista ainda não tenha contratos de dev criados
                if (selectedDevSprint.Contracts.Count == 0)
                {
                    //Caso o time tenha devs da casa
                    if (configXml.BaneseDes.Count > 0)
                    {
                        ContratoDTO houseDevContract = new ContratoDTO()
                        {
                            Name        = UtilDTO.CONTRACTS.HOUSE.ToString(),
                            PartnerName = UtilDTO.CONTRACTS.HOUSE.ToString()
                        };
                        foreach (var dev in configXml.BaneseDes)
                        {
                            ColaboradorDTO houseDev = new ColaboradorDTO()
                            {
                                Name               = dev.Name,
                                WorksHalfDay       = dev.WorksHalfDay,
                                AbsenceDays        = 0,
                                ExtraHoursExpenses = 0
                            };
                            houseDevContract.Collaborators.Add(houseDev);
                        }
                        selectedDevSprint.Contracts.Add(houseDevContract);
                    }

                    foreach (var partner in configXml.Partners)
                    {
                        foreach (var contract in partner.Contracts)
                        {
                            if (contract.Name != UtilDTO.CONTRACTS.SM_FIXO.ToString() &&
                                contract.Name != UtilDTO.CONTRACTS.SM_MEDIA.ToString())
                            {
                                ContratoDTO newContract = new ContratoDTO()
                                {
                                    Name        = contract.Name,
                                    Factor      = contract.Factor,
                                    HourValue   = contract.HourValue,
                                    NumeroSAP   = contract.NumeroSAP,
                                    PartnerName = partner.Name
                                };
                                foreach (var dev in contract.Collaborators)
                                {
                                    ColaboradorDTO newDev = new ColaboradorDTO()
                                    {
                                        Name               = dev.Name,
                                        AbsenceDays        = 0,
                                        ExtraHoursExpenses = 0,
                                        WorksHalfDay       = dev.WorksHalfDay
                                    };
                                    newContract.Collaborators.Add(newDev);
                                }
                                selectedDevSprint.Contracts.Add(newContract);
                            }
                        }
                    }
                }
            }
        }
 public new List <ColaboradorDTO> selectColaborador(ColaboradorDTO Colaborador)
 {
     return(base.selectColaborador(Colaborador));
 }