protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { return; } var test = new Avtalsmodel(); //var id = Request.Params["id"]; //idlabel.Text = id; //diarietb.Text = "endast läsning"; //statusdd.SelectedIndex = 1; var avtal = new Avtalsmodel(); var persons = new List <Person>(); var innehallslist = new List <DBDropdownContent>(); var leveranslist = new List <DateTime>(); var avdelningslist = new List <DBDropdownContent>(); var enhetslist = new List <DBDropdownContent>(); // ta fram personer till rullister string connstr = ConfigurationManager.ConnectionStrings["postgres connection"].ConnectionString; using (var conn = new NpgsqlConnection(connstr)) { conn.Open(); var personquery = "select id, first_name, last_name from sbk_avtal.person order by last_name asc;"; using (var cmd = new NpgsqlCommand(personquery, conn)) { using (var reader = cmd.ExecuteReader()) { persons = Avtalsfactory.GetNamesAndId(reader); } } // fyll lista med avtalsinnehåll using (var cmd = new NpgsqlCommand("select id, beskrivning from sbk_avtal.avtalsinnehall;", conn)) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { innehallslist.Add(new DBDropdownContent { id = reader.GetInt32(0), beskrivning = reader.GetString(1) }); } } } // lista med avdelningar var avdelningsquery = "select id, namn from sbk_avtal.ansvarig_avd"; using (var cmd = new NpgsqlCommand(avdelningsquery, conn)) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { avdelningslist.Add(new DBDropdownContent { id = reader.GetInt32(0), beskrivning = reader.GetString(1) }); } } } // lista med enheter var enhetsquery = "select id, namn from sbk_avtal.ansvarig_enhet"; using (var cmd = new NpgsqlCommand(enhetsquery, conn)) { using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { enhetslist.Add(new DBDropdownContent { id = reader.GetInt32(0), beskrivning = reader.GetString(1) }); } } } } // sparar i sessionen Session.Add("persons", persons); Session.Add("innehallslist", innehallslist); Session.Add("avdelningslist", avdelningslist); Session.Add("enhetslist", enhetslist); for (int i = 0; i < persons.Count; i++) { var person = persons[i]; person.dropdownindex = i; avtalstecknaredd.Items.Add(string.Format("{0} {1}", person.FirstName, person.LastName)); kontaktdd.Items.Add(string.Format("{0} {1}", person.FirstName, person.LastName)); upphandlatdd.Items.Add(string.Format("{0} {1}", person.FirstName, person.LastName)); ansvarig_sbkdd.Items.Add(string.Format("{0} {1}", person.FirstName, person.LastName)); datakontaktdd.Items.Add(string.Format("{0} {1}", person.FirstName, person.LastName)); } // lägger till val för ny person avtalstecknaredd.Items.Add("+ Ny person"); // ("+ Ny avtalstecknare"); kontaktdd.Items.Add("+ Ny person"); upphandlatdd.Items.Add("+ Ny person"); ansvarig_sbkdd.Items.Add("+ Ny person"); datakontaktdd.Items.Add("+ Ny person"); // lägger till tom rad avtalstecknaredd.Items.Add(""); kontaktdd.Items.Add(""); upphandlatdd.Items.Add(""); ansvarig_sbkdd.Items.Add(""); datakontaktdd.Items.Add(""); // avtalsinnehåll for (int i = 0; i < innehallslist.Count; i++) { DBDropdownContent inn = innehallslist[i]; innehallcbl.Items.Add(new ListItem(inn.beskrivning)); inn.ListIndex = i; } // lägger till i ansvarig_avd dropdown, först ett tomt val och sedan listan ansvarig_avddd.Items.Add(new ListItem("")); for (int i = 0; i < avdelningslist.Count; i++) { var avd = avdelningslist[i]; avd.ListIndex = i + 1; ansvarig_avddd.Items.Add(new ListItem(avd.beskrivning)); } // lägger till i ansvarig_enhet, först ett tomt val och sedan listan ansvarig_enhetdd.Items.Add(new ListItem("")); //foreach (var enhet in enhetslist) //{ // ansvarig_enhetdd.Items.Add(new ListItem(enhet.beskrivning)); //} for (int i = 0; i < enhetslist.Count; i++) { var enhet = enhetslist[i]; enhet.ListIndex = i + 1; ansvarig_enhetdd.Items.Add(new ListItem(enhet.beskrivning)); } if (Request.Params["nytt_avtal".ToLower()] == "true") { // debugl.Text = "nytt avtal"; //submitbtn.Text = "Lägg till nytt avtal"; SetSubmitButtonAppearance(SubmitButtonState.SparaNytt); // väljer tomt innehåll i dropdowns avtalstecknaredd.Items.FindByText("").Selected = true; kontaktdd.Items.FindByText("").Selected = true; upphandlatdd.Items.FindByText("").Selected = true; ansvarig_sbkdd.Items.FindByText("").Selected = true; datakontaktdd.Items.FindByText("").Selected = true; ansvarig_avddd.Items.FindByText("").Selected = true; ansvarig_enhetdd.Items.FindByText("").Selected = true; return; } else { //submitbtn.Text = "Uppdatera avtal"; SetSubmitButtonAppearance(SubmitButtonState.Uppdatera); var dbid = Request.Params["id"]; // string connstr = ConfigurationManager.ConnectionStrings["postgres connection"].ConnectionString; using (var conn = new NpgsqlConnection(connstr)) { conn.Open(); // avtal var sqlquery = "select id, diarienummer, startdate, enddate, status, motpartstyp, SBKavtalsid, scan_url, orgnummer, enligt_avtal, internt_alias, kommentar, avtalstecknare, avtalskontakt, ansvarig_sbk, ansvarig_avd, ansvarig_enhet, upphandlat_av, datakontakt, konto, kstl, vht, mtp, aktivitet, objekt, avtalstyp from sbk_avtal.avtal where id = @p1;"; using (var cmd = new NpgsqlCommand(sqlquery, conn)) { // cmd.Connection = conn; // cmd.CommandText = "select id, diarienummer, startdate, enddate, status, motpartstyp, SBKavtalsid, scan_url, orgnummer, enligt_avtal, internt_alias, kommentar from sbkavtal.avtal"; cmd.Parameters.AddWithValue("p1", dbid); using (var reader = cmd.ExecuteReader()) { avtal = Avtalsfactory.ParseAvtal(reader).First(); } } using (var cmd = new NpgsqlCommand("select avtalsinnehall_id from sbk_avtal.map_avtal_innehall where avtal_id = @avtal_id;", conn)) { cmd.Parameters.AddWithValue("avtal_id", dbid); using (var reader = cmd.ExecuteReader()) { // kryssa för avtalsinnehåll while (reader.Read()) { var innehalls_id = reader.GetInt32(0); var idx = innehallslist.Where(x => x.id == innehalls_id).First().ListIndex; innehallcbl.Items[idx].Selected = true; } } } // leveranser var levquery = "select datum from sbk_avtal.leveranser where avtal_id=@avtal_id order by datum;"; using (var cmd = new NpgsqlCommand(levquery, conn)) { cmd.Parameters.AddWithValue("avtal_id", dbid); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { leveranslist.Add(reader.GetDateTime(0)); } } } } } // avtalstyp avtalstyptb.ClearSelection(); avtalstyptb.Items.FindByValue(avtal.avtalstyp).Selected = true; diarietb.Text = avtal.diarienummer; startdatetb.Text = string.Format("{0:d}", avtal.startdate); enddate.Text = string.Format("{0:d}", avtal.enddate); statusdd.Items.FindByValue(avtal.status).Selected = true; motpartsdd.Items.FindByValue(avtal.motpartstyp).Selected = true; sbkidtb.Text = avtal.sbkid.ToString(); orgnrtb.Text = avtal.orgnummer; enlavttb.Text = avtal.enligtAvtal; intidtb.Text = avtal.interntAlias; kommentartb.Text = avtal.kommentar; //ansvavdtb.Text = avtal.ansvarig_avdelning; //ansvenhtb.Text = avtal.ansvarig_enhet; if (avtal.ansvarig_avdelning != null) { ansvarig_avddd.Items.FindByValue(avdelningslist.Where(x => x.id == avtal.ansvarig_avdelning).First().beskrivning).Selected = true; } if (avtal.ansvarig_enhet != null) { ansvarig_enhetdd.Items.FindByValue(enhetslist.Where(x => x.id == avtal.ansvarig_enhet).First().beskrivning).Selected = true; } pathtoavtaltb.Text = avtal.scan_url; // ekonomi kontotb.Text = avtal.konto; kstltb.Text = avtal.kstl; vhttb.Text = avtal.vht; mtptb.Text = avtal.mtp; aktivitettb.Text = avtal.aktivitet; objekttb.Text = avtal.objekt; // leveranser var levsb = new StringBuilder(); foreach (var date in leveranslist) { levsb.AppendLine(date.ToShortDateString()); //string.Format("{0:d}", date.ToString())); } manuellevtb.Text = levsb.ToString(); //dropdowns Person avtalstecknare = persons.Where(x => x.id == avtal.avtalstecknare).FirstOrDefault(); if (avtalstecknare != null) { avtalstecknaredd.SelectedIndex = (int)avtalstecknare.dropdownindex; } else { avtalstecknaredd.Items.FindByValue("").Selected = true; } Person avtalskontakt = persons.Where(x => x.id == avtal.avtalskontakt).FirstOrDefault(); if (avtalskontakt != null) { kontaktdd.SelectedIndex = (int)avtalskontakt.dropdownindex; } else { kontaktdd.Items.FindByValue("").Selected = true; } Person ansvarig_sbk = persons.Where(x => x.id == avtal.ansvarig_sbk).FirstOrDefault(); if (ansvarig_sbk != null) { ansvarig_sbkdd.SelectedIndex = (int)ansvarig_sbk.dropdownindex; } else { ansvarig_sbkdd.Items.FindByValue("").Selected = true; } Person upphandlat_av = persons.Where(x => x.id == avtal.upphandlat_av).FirstOrDefault(); if (upphandlat_av != null) { upphandlatdd.SelectedIndex = (int)upphandlat_av.dropdownindex; } else { upphandlatdd.Items.FindByValue("").Selected = true; } Person datakontakt = persons.Where(x => x.id == avtal.datakontakt).FirstOrDefault(); if (datakontakt != null) { datakontaktdd.SelectedIndex = (int)datakontakt.dropdownindex; } else { datakontaktdd.Items.FindByValue("").Selected = true; } ShowHideControls(); }
protected void Page_Load(object sender, EventArgs e) { var lst = new List <Avtalsmodel>(); string connstr = ConfigurationManager.ConnectionStrings["postgres connection"].ConnectionString; using (var conn = new NpgsqlConnection(connstr)) { conn.Open(); using (var cmd = new NpgsqlCommand()) { cmd.Connection = conn; cmd.CommandText = "select id, diarienummer, startdate, enddate, status, motpartstyp, SBKavtalsid, scan_url, orgnummer, enligt_avtal, internt_alias, kommentar, avtalstecknare, avtalskontakt, ansvarig_sbk, ansvarig_avd, ansvarig_enhet, upphandlat_av, datakontakt from sbk_avtal.avtal;"; //cmd.CommandText = "select @fields from sbkavtal.avtal"; //cmd.Parameters.AddWithValue("fields", Avtalsfactory.Fields); using (var reader = cmd.ExecuteReader()) { lst = Avtalsfactory.ParseAvtal(reader); } } } Session.Add("avtalslista", lst); //var row = new TableRow(); //var cell1 = new TableCell(); //cell1.Text = "en cell"; //var cell2 = new TableCell(); //cell2.Text = "en till"; //row.Cells.Add(cell1); //row.Cells.Add(cell2); //avtalstabell.Rows.Add(row); foreach (var item in lst) { var row = new TableRow(); // lite fix... string alink; if (item.scan_url != "") { alink = string.Format("<a href=\"{0}\">Länk till scannat avtal</a>", new Uri(item.scan_url).AbsoluteUri); } else { alink = ""; } // redigeringslänken var editlink = new HyperLink(); editlink.NavigateUrl = String.Format("./avtal_detail.aspx?id={0}&nytt_avtal=false", item.id); editlink.Text = "Redigera"; var editc = new TableCell(); editc.Controls.Add(editlink); // var editc = new TableCell() { Text = string.Format("<a href=\"./avtal_detail.aspx?id={0}>Redigera</a>", item.id) }; var dc = new TableCell() { Text = item.diarienummer.ToString() }; var sdc = new TableCell() { Text = string.Format("{0:d}", item.startdate) }; sdc.CssClass = "text-nowrap"; var edc = new TableCell() { Text = string.Format("{0:d}", item.enddate) }; var sc = new TableCell() { Text = item.status }; var mpc = new TableCell() { Text = item.motpartstyp }; var idc = new TableCell() { Text = item.sbkid.ToString() }; var urlc = new TableCell() { Text = alink }; var orgc = new TableCell() { Text = item.orgnummer }; var enlavt = new TableCell() { Text = item.enligtAvtal }; var alc = new TableCell() { Text = item.interntAlias }; var kommc = new TableCell() { Text = item.kommentar }; row.Cells.Add(editc); row.Cells.Add(dc); row.Cells.Add(sdc); row.Cells.Add(edc); row.Cells.Add(sc); row.Cells.Add(mpc); row.Cells.Add(idc); row.Cells.Add(urlc); row.Cells.Add(orgc); row.Cells.Add(enlavt); row.Cells.Add(alc); row.Cells.Add(kommc); avtalstabell.Rows.Add(row); } }