Пример #1
0
        //Opret postering
        public int OpretPostering(string beskrivelse, string beløb, string kategori, DateTime dato, bool erUdgift)
        {
            float int_beløb;

            beskrivelse = beskrivelse.Trim(' ');
            int_beløb   = Mathh.Round(Mathh.stringToFloat(beløb), 2);

            if (int_beløb <= 0)
            {
                return(1);   //Invalid beløb
            }
            else if (beskrivelse == "")
            {
                return(2);   //Invalid beskrivelse
            }
            else if (beskrivelse.Contains(";"))
            {
                return(3);   //brug af semicolon i beskrivelse
            }
            else
            {
                Postering postering = new Postering(beskrivelse, int_beløb, kategori, dato, erUdgift);
                posteringer.Add(postering);

                return(0);   //Intet galt
            }
        }
Пример #2
0
        public List <Postering> SøgPosteringer(List <string> tilladte_u_kat, List <string> tilladte_i_kat, List <string> tilladte_typer, string min, string max, int datoSearch, DateTime minDato, DateTime maxDato)
        {
            List <Postering> søgResultat = new List <Postering>();

            float i_min = Mathh.stringToFloat(min);
            float i_max = Mathh.stringToFloat(max);

            DateTime UgeStart = DateTime.Today;

            switch (DateTime.Now.DayOfWeek)
            {
            case DayOfWeek.Monday:
                break;

            case DayOfWeek.Tuesday:
                UgeStart = UgeStart.AddDays(-1);
                break;

            case DayOfWeek.Wednesday:
                UgeStart = UgeStart.AddDays(-2);
                break;

            case DayOfWeek.Thursday:
                UgeStart = UgeStart.AddDays(-3);
                break;

            case DayOfWeek.Friday:
                UgeStart = UgeStart.AddDays(-4);
                break;

            case DayOfWeek.Saturday:
                UgeStart = UgeStart.AddDays(-5);
                break;

            case DayOfWeek.Sunday:
                UgeStart = UgeStart.AddDays(-6);
                break;
            }



            //Cycle through all posteringer
            foreach (Postering postering in posteringer)
            {
                if (tilladte_typer.Contains("Udgift") && postering.erUdgift == true)
                {
                    if (!(tilladte_u_kat.Contains(postering.kategori)))
                    {
                        continue;
                    }
                }
                else if (tilladte_typer.Contains("Indtægt") && postering.erUdgift == false)
                {
                    if (!(tilladte_i_kat.Contains(postering.kategori)))
                    {
                        continue;
                    }
                }
                else
                {
                    continue;
                }
                if (postering.Pris < i_min && i_min != 0)
                {
                    continue;
                }

                if (postering.Pris > i_max && i_max != 0)
                {
                    continue;
                }
                switch (datoSearch)
                {
                //År
                case 1:
                    if (postering.dato.Year != DateTime.Now.Year)
                    {
                        continue;
                    }
                    break;

                //Måned
                case 2:
                    if (postering.dato.Month != DateTime.Now.Month || postering.dato.Year != DateTime.Now.Year)
                    {
                        continue;
                    }
                    break;

                //Uge
                case 3:
                    if (DateTime.Compare(postering.dato, UgeStart) < 0)
                    {
                        continue;
                    }
                    else if (DateTime.Compare(postering.dato, DateTime.Now) > 0)
                    {
                        continue;
                    }
                    break;

                //Dag
                case 4:
                    if (postering.dato.Day != DateTime.Now.Day ||
                        postering.dato.Month != DateTime.Now.Month ||
                        postering.dato.Year != DateTime.Now.Year)
                    {
                        continue;
                    }
                    break;

                //Specifikt
                case 5:
                    if (DateTime.Compare(postering.dato, maxDato) > 0)
                    {
                        continue;
                    }
                    else if (DateTime.Compare(postering.dato, minDato) < 0)
                    {
                        continue;
                    }
                    break;
                }

                søgResultat.Add(postering);
            }

            return(søgResultat);
        }
Пример #3
0
 //Omdanner en gemt string til et Posteringsobjekt
 private Postering Unwrap(string input)
 {
     string[] args = input.Split(';');
     return(new Postering(args[0], Mathh.stringToFloat(args[1]), args[2], Convert.ToDateTime(args[3]), Convert.ToBoolean(args[4])));
 }