//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 } }
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); }
//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]))); }