Esempio n. 1
0
        //esta
        /// <summary>
        /// Adds the work.
        /// </summary>
        /// <param name="e">The e.</param>
        /// <param name="ap">The ap.</param>
        /// <param name="a">a.</param>
        /// <param name="c">The c.</param>
        /// <returns>False error | True good</returns>
        /// <exception cref="Exception.ApiarioException"></exception>
        /// <exception cref="System.Exception"></exception>
        public static bool AddColmeias(Objecto.FichaTecnicaEmpresa e, Objecto.FichaTecnicaApicultor ap, Objecto.FichaTecnicaApiario a, Objecto.FichaTecnicaColmeia c)
        {
            if (e == null || a == null || ap == null)
            {
                return(false);
            }

            else
            {
                try
                {
                    if (!Multinacional.ExisteColmeia(e, ap, a, c))
                    {
                        Empresa   fe        = new Empresa(e);
                        Apicultor apicultor = new Apicultor(ap);
                        Apiario   apiario   = new Apiario(a);
                        Colmeia   cc        = new Colmeia(c);

                        foreach (List <Empresa> lista in Multinacional.multinacionais.Values)
                        {
                            foreach (Empresa empresa in lista)
                            {
                                if (fe == empresa)
                                {
                                    foreach (Apicultor item in empresa.empregados)
                                    {
                                        if (apicultor == item)
                                        {
                                            foreach (Apiario value in item.apiarios)
                                            {
                                                if (value == apiario)
                                                {
                                                    value.colmeias.Add(cc);
                                                    value.totColmeias++;
                                                    return(true);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        return(false);
                    }

                    else
                    {
                        return(false);
                    }
                }
                catch (Exception.ApiarioException)
                {
                    throw new Exception.ApiarioException();
                }
                catch (System.Exception)
                {
                    throw new System.Exception();
                }
            }
        }
        /// <summary>
        /// Existes the colmeia.
        /// </summary>
        /// <param name="e">The e.</param>
        /// <param name="ap">The ap.</param>
        /// <param name="a">a.</param>
        /// <param name="c">The c.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        /// <exception cref="Exception.MultinacionalException"></exception>
        /// <exception cref="System.Exception"></exception>
        public static bool ExisteColmeia(Objecto.FichaTecnicaEmpresa e, Objecto.FichaTecnicaApicultor ap, Objecto.FichaTecnicaApiario a, Objecto.FichaTecnicaColmeia c)
        {
            if (e == null || ap == null || a == null || c == null)
            {
                return(false);
            }

            else
            {
                Empresa   fe        = new Empresa(e);
                Apicultor apicultor = new Apicultor(ap);
                Apiario   apiario   = new Apiario(a);
                Colmeia   colmeia   = new Colmeia(c);

                try
                {
                    if (multinacionais.ContainsKey(fe.Nif))
                    {
                        foreach (List <Empresa> lista in multinacionais.Values)
                        {
                            foreach (Empresa empresa in lista)
                            {
                                if (fe == empresa)
                                {
                                    foreach (Apicultor item in empresa.empregados)
                                    {
                                        if (apicultor == item)
                                        {
                                            foreach (Apiario value in item.apiarios)
                                            {
                                                if (value == apiario)
                                                {
                                                    foreach (Colmeia cc in value.colmeias)
                                                    {
                                                        if (cc == colmeia)
                                                        {
                                                            return(true);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    return(false);
                }
                catch (Exception.MultinacionalException)
                {
                    throw new Exception.MultinacionalException();
                }
                catch (System.Exception)
                {
                    throw new System.Exception();
                }
            }
        }
        //esta
        /// <summary>
        /// Hows the much Acoes.
        /// </summary>
        /// <param name="e">The e.</param>
        /// <param name="ap">The ap.</param>
        /// <param name="a">a.</param>
        /// <param name="c">The c.</param>
        /// <returns>System.Int32.</returns>
        public static int HowMuchAcoes(Objecto.FichaTecnicaEmpresa e, Objecto.FichaTecnicaApicultor ap, Objecto.FichaTecnicaApiario a, Objecto.FichaTecnicaColmeia c)
        {
            if (e == null || ap == null || a == null || c == null)
            {
                return(0);
            }

            else
            {
                Empresa   fe        = new Empresa(e);
                Apicultor apicultor = new Apicultor(ap);
                Apiario   apiario   = new Apiario(a);
                Colmeia   colmeia   = new Colmeia(c);

                if (Multinacional.multinacionais.ContainsKey(fe.Nif))
                {
                    foreach (List <Empresa> lista in Multinacional.multinacionais.Values)
                    {
                        foreach (Empresa empresa in lista)
                        {
                            if (fe == empresa)
                            {
                                foreach (Apicultor item in empresa.empregados)
                                {
                                    if (apicultor == item)
                                    {
                                        foreach (Apiario value in item.apiarios)
                                        {
                                            if (value == apiario)
                                            {
                                                foreach (Colmeia cc in value.colmeias)
                                                {
                                                    if (cc == colmeia)
                                                    {
                                                        return(colmeia.totAcoes);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                return(0);
            }
        }
        //esta
        /// <summary>
        /// Sorts the work.
        /// </summary>
        /// <param name="e">The e.</param>
        /// <param name="ap">The ap.</param>
        /// <param name="a">a.</param>
        /// <param name="c">The c.</param>
        /// <returns>False error | True good</returns>
        /// <exception cref="Exception.ColmeiaException"></exception>
        /// <exception cref="System.Exception"></exception>
        public static bool SortAcoes(Objecto.FichaTecnicaEmpresa e, Objecto.FichaTecnicaApicultor ap, Objecto.FichaTecnicaApiario a, Objecto.FichaTecnicaColmeia c)
        {
            try
            {
                if (e == null || ap == null || a == null || c == null)
                {
                    return(false);
                }

                else
                {
                    if (Multinacional.ExisteColmeia(e, ap, a, c))
                    {
                        Empresa   fe        = new Empresa(e);
                        Apicultor apicultor = new Apicultor(ap);
                        Apiario   apiario   = new Apiario(a);
                        Colmeia   colmeia   = new Colmeia();

                        foreach (List <Empresa> lista in Multinacional.multinacionais.Values)
                        {
                            foreach (Empresa empresa in lista)
                            {
                                if (fe == empresa)
                                {
                                    foreach (Apicultor item in empresa.empregados)
                                    {
                                        if (apicultor == item)
                                        {
                                            foreach (Apiario value in item.apiarios)
                                            {
                                                if (value == apiario)
                                                {
                                                    foreach (Colmeia cc in value.colmeias)
                                                    {
                                                        if (cc == colmeia)
                                                        {
                                                            cc.acoes.Sort();
                                                            return(true);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        return(false);
                    }

                    else
                    {
                        return(false);
                    }
                }
            }
            catch (Exception.ColmeiaException)
            {
                throw new Exception.ColmeiaException();
            }
            catch (System.Exception)
            {
                throw new System.Exception();
            }
        }
        //esta
        /// <summary>
        /// Dispenses the work.
        /// </summary>
        /// <param name="e">The e.</param>
        /// <param name="ap">The ap.</param>
        /// <param name="a">apiario</param>
        /// <param name="c">The c.</param>
        /// <param name="ac">The ac.</param>
        /// <returns>False error | True good</returns>
        /// <exception cref="Exception.ColmeiaException"></exception>
        /// <exception cref="System.Exception"></exception>
        public static bool DipensesAcao(Objecto.FichaTecnicaEmpresa e, Objecto.FichaTecnicaApicultor ap, Objecto.FichaTecnicaApiario a, Objecto.FichaTecnicaColmeia c, Objecto.Acao ac)
        {
            if (e == null || a == null || ap == null || ac == null || c == null)
            {
                return(false);
            }

            else
            {
                try
                {
                    if (!Multinacional.ExisteAccao(e, ap, a, c, ac))
                    {
                        Empresa   fe        = new Empresa(e);
                        Apicultor apicultor = new Apicultor(ap);
                        Apiario   apiario   = new Apiario(a);
                        Colmeia   colmeia   = new Colmeia(c);

                        foreach (List <Empresa> lista in Multinacional.multinacionais.Values)
                        {
                            foreach (Empresa empresa in lista)
                            {
                                if (fe == empresa)
                                {
                                    foreach (Apicultor item in empresa.empregados)
                                    {
                                        if (apicultor == item)
                                        {
                                            foreach (Apiario value in item.apiarios)
                                            {
                                                if (value == apiario)
                                                {
                                                    foreach (Colmeia cc in value.colmeias)
                                                    {
                                                        if (cc == colmeia)
                                                        {
                                                            cc.acoes.Remove(ac);
                                                            cc.totAcoes--;
                                                            if (Ano.ApagaEvento(empresa, ac))
                                                            {
                                                                return(true);
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        return(false);
                    }

                    else
                    {
                        return(false);
                    }
                }
                catch (Exception.ColmeiaException)
                {
                    throw new Exception.ColmeiaException();
                }
                catch (System.Exception)
                {
                    throw new System.Exception();
                }
            }
        }
        // tá
        /// <summary>
        /// Agendars the acao.
        /// </summary>
        /// <param name="e">The e.</param>
        /// <param name="ap">The ap.</param>
        /// <param name="a">a.</param>
        /// <param name="c">The c.</param>
        /// <param name="ac">The ac.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        /// <exception cref="Exception.EmpresaException"></exception>
        /// <exception cref="System.Exception"></exception>
        public static bool AgendarAcao(Objecto.FichaTecnicaEmpresa e, Objecto.FichaTecnicaApicultor ap, Objecto.FichaTecnicaApiario a, Objecto.FichaTecnicaColmeia c, Objecto.Acao ac)
        {
            int dia = ac.Data.DayOfYear - 1;
            int k   = 0;

            if (e == null || ap == null || c == null || a == null || ac == null)
            {
                return(false);
            }

            else
            {
                try
                {
                    if (!Multinacional.ExisteAccao(e, ap, a, c, ac))
                    {
                        Empresa fe = new Empresa(e);

                        if (Ano.TemEventosNumDia(fe, ac))
                        {
                            return(false);
                        }

                        else
                        {
                            foreach (List <Empresa> lista in Multinacional.multinacionais.Values)
                            {
                                foreach (Empresa empresa in lista)
                                {
                                    if (fe == empresa)
                                    {
                                        Ano.InsereAcaoAno(empresa, ac);
                                    }
                                }
                            }
                        }

                        if (Colmeia.Intervention(e, ap, a, c, ac) && k == 1)
                        {
                            return(true);
                        }

                        return(false);
                    }

                    else
                    {
                        return(false);
                    }
                }

                catch (Exception.EmpresaException)
                {
                    throw new Exception.EmpresaException();
                }
                catch (System.Exception)
                {
                    throw new System.Exception();
                }
            }
        }