public void GivenQueExistamOsSeguintesPlanejamentosDeFerias(Table table)
        {
            for (int position = 0; position < table.RowCount; position++)
            {
                string colaborador = table.Rows[position][table.Header.ToList()[0]];
                string dataIncial  = table.Rows[position][table.Header.ToList()[1]];
                string modalidade  = table.Rows[position][table.Header.ToList()[2]];

                FeriasPlanejamento f = PlanejamentoFeriasFactory.Criar(SessionTest, StepColaborador.ColaboradoresDic[colaborador], DateTime.Parse(dataIncial), StepModalidadeFerias.ModalidadeFeriasDic[modalidade], true);
                PlanejamentoFeriasDic.Add(String.Format("{0}_{1}", colaborador, dataIncial), f);
            }
        }
        public static FeriasPlanejamento Criar(Session session, Colaborador colaborador, DateTime dataIncio, ModalidadeFerias modalidade, bool save)
        {
            FeriasPlanejamento ferias = new FeriasPlanejamento(session);

            ferias.Periodo     = colaborador.PeriodosAquisitivos[0];
            ferias.Modalidade  = modalidade;
            ferias.DtInicio    = dataIncio;
            ferias.TxPlanejado = "Superior";

            if (save)
            {
                ferias.Save();
            }

            return(ferias);
        }
        /// <summary>
        /// Evento chamado quando se edita um colaborador no lookupEdit de colaborador
        /// </summary>
        /// <param name="sender">Objeto selecionado(LookUpEdit)</param>
        /// <param name="e">evento</param>
        private void lookUpEditColaborador_EditValueChanged(object sender, EventArgs e)
        {
            Colaborador = lookUpEditColaborador.EditValue as Colaborador;

            if (Colaborador != null)
            {
                XPCollection <Colaborador> colaboradores = new XPCollection <Colaborador>(Session);

                colaboradores.Sorting.Add(new SortProperty("Usuario.FullName", SortingDirection.Ascending));

                lookUpEditColaborador.Properties.DataSource = colaboradores;
                lookUpEditColaborador.EditValue             = Colaborador;

                lookUpEditPeriodo.Properties.DataSource = null;

                //popula o lookup de periodos aquisitivos
                if (Colaborador.PeriodosAquisitivos.Count > 0)
                {
                    EnableComponents(true);

                    lookUpEditPeriodo.Properties.DataSource = Colaborador.PeriodosAquisitivos;

                    Session.FindObject <Colaborador>(CriteriaOperator.Parse("Oid = ?", Colaborador.Oid)).PeriodosAquisitivos.Sorting.Add(new SortProperty("DtInicio", SortingDirection.Ascending));

                    FeriasPlanejamento dadosFerias = Session.FindObject <FeriasPlanejamento>(CriteriaOperator.Parse(String.Format("Periodo.Colaborador = '{0}'", Colaborador.Oid)));

                    if (dadosFerias != null)
                    {
                        spinEditPeriodoAquisitivoFeriasPlanejadas.EditValue = dadosFerias.Modalidade.NbDias;
                        textEditAtualizadoPor.EditValue = String.Format("{0} - {1}", Colaborador.GetColaboradorCurrent(Session), DateTime.Now);
                        textEditPlanejadoPor.EditValue  = String.Format("{0} - {1}", Colaborador.GetColaboradorCurrent(Session), DateTime.Now);
                    }
                    else
                    {
                        spinEditPeriodoAquisitivoFeriasPlanejadas.EditValue = Colaborador.PeriodosAquisitivos[Colaborador.PeriodosAquisitivos.Count - 1]._PlanejamentoFerias;
                        textEditAtualizadoPor.EditValue = String.Format("{0} - {1}", Colaborador.GetColaboradorCurrent(Session), DateTime.Now);
                        textEditPlanejadoPor.EditValue  = String.Format("{0} - {1}", Colaborador.GetColaboradorCurrent(Session), DateTime.Now);
                    }
                }
                else
                {
                    EnableComponents(false);
                    throw new UserFriendlyException("O Colaborador não possui períodos aquisitivos. Por favor encaminhe - se ao cadastro de colaborador para cadastrar um período aquisitivo.");
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// Método de População da View da Linha do Tempo/Mês
        /// </summary>
        private void PopulateTimeLine()
        {
            DateTime inicio = new DateTime(DateTime.Now.Year, 01, 01);
            DateTime final  = new DateTime(DateTime.Now.Year, 12, 31);

            if (barEditItemAnoInicial.EditValue != null && barEditItemMesInicial.EditValue != null)
            {
                inicio = new DateTime((int)barEditItemAnoInicial.EditValue, (int)EnumUtil.ValueEnum(typeof(CsMesDomain), barEditItemMesInicial.EditValue.ToString()), 01);
            }
            if (barEditItemAnoFinal.EditValue != null && barEditItemMesFinal.EditValue != null)
            {
                final = new DateTime((int)barEditItemAnoFinal.EditValue, (int)EnumUtil.ValueEnum(typeof(CsMesDomain), barEditItemMesFinal.EditValue.ToString()), 28);
            }
            string[] superiores_oids;
            if (barEditItemSuperiorImediato.EditValue != null)
            {
                var array = from item in barEditItemSuperiorImediato.EditValue.ToString().Split(',')
                            where
                            !item.Equals("")
                            select item.Trim();

                superiores_oids = array.Count() == 0 ? new string[0] : array.ToArray <string>();
            }
            else
            {
                superiores_oids = new string[0];
            }
            string[] situacoes_ferias;
            if (barEditItemSituacaoFerias.EditValue != null)
            {
                var array = from item in barEditItemSituacaoFerias.EditValue.ToString().Split(',')
                            where
                            !item.Equals("")
                            select item.Trim();

                situacoes_ferias = array.Count() == 0 ? new string[0] : array.ToArray <string>();
            }
            else
            {
                situacoes_ferias = new string[0];
            }
            schedulerStorage1.Appointments.Clear();
            Ferias.AddRange(FeriasPlanejamento.GetPlanejamentoFerias(Session, superiores_oids, situacoes_ferias, inicio, final));
            schedulerControl1.RefreshData();
            PopulateItemNoSuperior();
        }
Beispiel #5
0
        public void FeriasPlanejamentoTest_001_TestarDefinirControleFeriasComoRealizado()
        {
            #region Pré-condições

            // Configurações
            ConfiguracaoFactory.CriarConfiguracao(SessionTest, 10, 30, 12);

            // Cargo: Programador Jr 2
            Cargo cargoJr2 = CargoFactory.Criar(SessionTest, "Programador Jr 2", true);

            // Modalidade: 10 dias
            ModalidadeFerias modalidade10 = ModalidadeFeriasFactory.CriarModalidadeFerias(SessionTest, 10, false);

            // Usuário: João Souza
            Colaborador colaboradorJoaoSouza = ColaboradorFactory.CriarColaborador(SessionTest, "123",
                                                                                   new DateTime(2011, 1, 1), "*****@*****.**", "João", string.Empty, "Souza", "joao.souza", cargoJr2);

            // Planejamento de Férias
            FeriasPlanejamento planejamento = FeriasPlanejamentoFactory.CriarPlanejamentoFerias(SessionTest,
                                                                                                colaboradorJoaoSouza.PeriodosAquisitivos[0], modalidade10, new DateTime(2012, 1, 1));

            // Tipo de Afastamento
            TipoAfastamento tipoAfastamento = TipoAfastamentoFactory.CriarTipoAfastamento(SessionTest, "Férias", true, true);

            // Data atual
            DateUtil.CurrentDateTime = new DateTime(2012, 2, 1);

            #endregion

            #region Passos

            // Definindo Planejamento como Realizado
            planejamento.Reload();
            planejamento.Realizadas = true;
            planejamento.Save();

            // Verificação de criação de Afastamento
            Assert.AreEqual(1, colaboradorJoaoSouza.Afastamentos.Count,
                            "Deveria ter sido criado um Afastamento.");

            // Verificação do Tipo do Afastamento
            Assert.AreEqual(tipoAfastamento, colaboradorJoaoSouza.Afastamentos[0].TipoAfastamento,
                            "O Afastamento deveria ser o mesmo que existe para Férias Realizadas.");

            #endregion
        }
Beispiel #6
0
 /// <summary>
 /// Evento chamado quando se clica em um item do navbar
 /// </summary>
 /// <param name="sender">Objeto selecionado</param>
 /// <param name="e">evento</param>
 private void navBarControlProjetos_LinkPressed(object sender, NavBarLinkEventArgs e)
 {
     if (e.Link != null)
     {
         try
         {
             Colaborador colab = Session.FindObject <Colaborador>(CriteriaOperator.Parse("Oid=?", new Guid(e.Link.Item.Tag.ToString())));
             colab.PeriodosAquisitivos.Sorting.Add(new SortProperty("DtInicio", DevExpress.Xpo.DB.SortingDirection.Descending));
             var periodo = colab.PeriodosAquisitivos.First(single => single.Planejamentos.Count > 0);
             periodo.Planejamentos.Sorting.Add(new SortProperty("DtInicio", DevExpress.Xpo.DB.SortingDirection.Ascending));
             FeriasPlanejamento ferias = periodo.Planejamentos[0];
             schedulerControl1.TimelineView.SelectAppointment(schedulerStorage1.Appointments.GetAppointmentById(ferias.Oid));
         }
         catch
         {
         }
     }
 }
        /// <summary>
        /// Criação de um novo planejamento de férias
        /// </summary>
        /// <param name="session">Sessão atual</param>
        /// <param name="periodo">Período aquisitivo</param>
        /// <param name="modalidade">Modalidade de Férias</param>
        /// <param name="dtInicio">Data de início</param>
        /// <param name="realizadas">Já foram realizadas?</param>
        /// <param name="vender">Vendidas?</param>
        /// <param name="save">É para salvar?</param>
        /// <returns>Objeto de FeriasPlanejamento criado</returns>
        public static FeriasPlanejamento CriarPlanejamentoFerias(Session session, ColaboradorPeriodoAquisitivo periodo,
                                                                 ModalidadeFerias modalidade, DateTime dtInicio, bool realizadas = false, CsSimNao vender = CsSimNao.Não, bool save = true)
        {
            FeriasPlanejamento planejamento = new FeriasPlanejamento(session)
            {
                Periodo    = periodo,
                Modalidade = modalidade,
                DtInicio   = dtInicio,
                Realizadas = realizadas,
                Vender     = vender
            };

            if (save)
            {
                planejamento.Save();
            }

            return(planejamento);
        }
Beispiel #8
0
        /// <summary>
        /// Evento chamado para colocar imagens nos appointments
        /// </summary>
        /// <param name="sender">object</param>
        /// <param name="e">AppointmentImagesEventArgs</param>
        private void schedulerControl1_InitAppointmentImages(object sender, AppointmentImagesEventArgs e)
        {
            SuspendLayout();
            FeriasPlanejamento ferias = Session.FindObject <FeriasPlanejamento>(CriteriaOperator.Parse("Oid=?", new Guid(e.Appointment.Id.ToString())));

            e.Appointment.Duration = ferias._DuracaoFerias;
            Image img;

            if (ferias.Periodo.Colaborador._Foto != null)
            {
                img = ImageUtil.ResizeImage(ferias.Periodo.Colaborador._Foto, 32, 32);
            }
            else
            {
                img = ImageUtil.ResizeImage(Resources.no_image, 32, 32);
            }
            if (!FotosColaboradores.Keys.Contains(ferias.Oid))
            {
                FotosColaboradores.Add(ferias.Oid, img);
            }
            ResumeLayout();
        }
        public void QuandoConsultarOPlanejamentoDeFeriasNoPeriodoDeESuperioresImediatos(string incial, string final, string superiores, string vazioGambi)
        {
            DateTime startDate = new DateTime(int.Parse(incial.Split('/')[1]), int.Parse(incial.Split('/')[0]), 1);
            DateTime endDate   = new DateTime(int.Parse(final.Split('/')[1]), int.Parse(final.Split('/')[0]), 1).AddMonths(+1).AddDays(-1);

            if (superiores != null && !superiores.Equals(""))
            {
                string[] superConsulta = new string[superiores.Split(',').Length];
                int      i             = 0;
                foreach (string superior in superiores.Split(','))
                {
                    superConsulta[i] = StepColaborador.ColaboradoresDic[superior.Replace("'", "")].Oid.ToString();
                    i++;
                }

                listaPlanejamentos = FeriasPlanejamento.GetPlanejamentoFerias(SessionTest, superConsulta, null, startDate, endDate);
            }
            else
            {
                listaPlanejamentos = FeriasPlanejamento.GetPlanejamentoFerias(SessionTest, null, null, startDate, endDate);
            }
        }
        public void ThenDevemSerListadosOsPlanejamentosDeFerias(Table table)
        {
            List <FeriasPlanejamento> ferias = FeriasPlanejamento.RNGetPlanejamentosVisiveis(listaPlanejamentos, projetosOcultos);

            Assert.AreEqual(table.RowCount, ferias.Count);

            //Verifica se todos planejamentos de ferias estão presentes na lista.
            for (int position = 0; position < table.RowCount; position++)
            {
                string colaborador = table.Rows[position][0];

                bool colaboradorPresente = false;
                foreach (FeriasPlanejamento item in ferias)
                {
                    if (item.Periodo.Colaborador.Usuario.FirstName.Equals(colaborador))
                    {
                        colaboradorPresente = true;
                        break;
                    }
                }
                Assert.IsTrue(colaboradorPresente, String.Format("O colaborador {0} não está na lista", colaborador));
            }
        }
        /// <summary>
        /// Metodo que edita e atualiza o registro de ferias planejamento
        /// </summary>
        private void EditValues()
        {
            string[] values = Appointment.Description.Split(',');

            string ferias_oid = values.Length > 1 ?  values[9] : "00000000-0000-0000-0000-000000000000";

            if (new Guid(ferias_oid) != Guid.Empty)
            {
                Planejamento = Session.FindObject <FeriasPlanejamento>(CriteriaOperator.Parse("Oid=?", new Guid(ferias_oid)));
            }
            else
            {
                Planejamento = new FeriasPlanejamento(Session);
            }

            if (Colaborador != null)
            {
                Planejamento.Periodo = lookUpEditPeriodo.EditValue as ColaboradorPeriodoAquisitivo;
            }

            if (values.Length > 1)
            {
                Planejamento.DtInicio = (DateTime)dateEditPLFeriasInicio.EditValue;

                Planejamento.Modalidade = lookUpEditModalidade.EditValue as ModalidadeFerias;

                if (comboBoxEdit1.EditValue.ToString().Equals("Planejado"))
                {
                    Planejamento.CsSituacaoFerias = CsSituacaoFeriasPlanejamento.Planejado;
                }
                else
                {
                    Planejamento.CsSituacaoFerias = CsSituacaoFeriasPlanejamento.Realizado;
                }

                Planejamento.Vender = vendaFeriascomboBoxEdit.EditValue.Equals("Sim") ? CsSimNao.Sim : CsSimNao.Não;
            }
            else
            {
                if (Colaborador == null)
                {
                    throw new UserFriendlyException("O preenchimento do campo Colaborador é obrigatório.");
                }

                Planejamento.Modalidade = lookUpEditModalidade.EditValue as ModalidadeFerias;

                if (Planejamento.Periodo != null)
                {
                    if (Planejamento.Modalidade != null)
                    {
                        Planejamento.Periodo.NbFeriasPlanejadas = Planejamento.Modalidade.NbDias;
                    }
                }
                if (dateEditPLFeriasInicio.EditValue != null)
                {
                    Planejamento.DtInicio = (DateTime)dateEditPLFeriasInicio.EditValue;
                }

                if (comboBoxEdit1.EditValue != null)
                {
                    if (comboBoxEdit1.EditValue.ToString().Equals("Planejado"))
                    {
                        Planejamento.CsSituacaoFerias = CsSituacaoFeriasPlanejamento.Planejado;
                    }
                    else
                    {
                        Planejamento.CsSituacaoFerias = CsSituacaoFeriasPlanejamento.Realizado;
                    }
                }

                if (textEditAtualizadoPor.EditValue != null)
                {
                    Planejamento.TxPlanejado = textEditAtualizadoPor.EditValue.ToString();
                }

                if (textEditPlanejadoPor.EditValue != null)
                {
                    Planejamento.TxAtualizado = textEditPlanejadoPor.EditValue.ToString();
                }
            }

            if (vendaFeriascomboBoxEdit.EditValue != null &&
                vendaFeriascomboBoxEdit.EditValue.ToString().Equals(CsSimNao.Sim))
            {
                Planejamento.Vender = CsSimNao.Sim;
            }
            else
            {
                Planejamento.Vender = CsSimNao.Não;
            }
        }