Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Baza:
- create table Krava(
- IdKrava int primary key identity,
- Ime nvarchar(50) not null,
- DatumRodjenja datetime not null ,
- JVBroj nvarchar(50) not null ,
- DatumDolaska datetime not null ,
- BrojTeladi int not null
- )
- create table Pasmina(
- IdPasmina int primary key identity,
- Naziv nvarchar(50) not null unique
- )
- create table DnevnaProizvodnja(
- IdDnevnaProizvodnja int primary key identity,
- Datum datetime not null ,
- LitaraMlijeka decimal(20,2) not null ,
- ProsjecnaMasnoca decimal(20,2) not null ,
- ProsjecnaiMikroorganizmi decimal(20,2) not null
- )
- go
- alter table Krava add PasminaId int not null foreign key references Pasmina(IdPasmina)
- go
- alter table Krava add check (substring(JVBroj,1,2)='HR')
- go
- alter table DnevnaProizvodnja add KravaId int not null foreign key references Krava(IdKrava)
- go
- --insert values
- insert into Pasmina (Naziv) values('Simentalska')
- insert into Pasmina (Naziv) values('Holstein')
- insert into Pasmina (Naziv) values('Domaca obicna')
- --select * from Pasmina order by IdPasmina asc
- go
- insert into Krava values('Iva','20150226', 'HR123456', '20200101',10,1)
- insert into Krava values('Ruza','20110316', 'HR113116', '20200102',18,2)
- insert into Krava values('Daca','20130416', 'HR124346', '20200103',12,3)
- insert into Krava values('Mica','20010520', 'HR1234536', '20200104',16,1)
- insert into Krava values('Slava','20020611', 'HR123446', '20200105',6,3)
- --select * from Krava
- go
- insert into DnevnaProizvodnja values('20200101', 11.22, 21.1, 115.3, 1)
- insert into DnevnaProizvodnja values('20200102', 12.22, 22.1, 15225.3, 2)
- insert into DnevnaProizvodnja values('20200103', 13.22, 23.1, 1125.3, 3)
- insert into DnevnaProizvodnja values('20200104', 14.22, 24.1, 1325.3, 4)
- insert into DnevnaProizvodnja values('20200105', 15.22, 25.1, 14345.3, 5)
- insert into DnevnaProizvodnja values('20200106', 16.22, 26.1, 15342.3, 1)
- insert into DnevnaProizvodnja values('20200107', 17.22, 27.1, 15122.3, 2)
- insert into DnevnaProizvodnja values('20200108', 18.22, 28.1, 15647.3, 3)
- insert into DnevnaProizvodnja values('20200109', 19.22, 29.1, 15475.3, 4)
- insert into DnevnaProizvodnja values('20200110', 20.22, 30.1, 15775.3, 5)
- --select * from DnevnaProizvodnja
- go
- alter table Krava add Slika nvarchar(max) null
- go
- --update Krava set Slika='C:\krava1.jpg' where IdKrava=4
- update Krava set Slika='krava1.jpg' where IdKrava=4
- select * from Krava
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- //Entity repo
- public static class Repo
- {
- static Model model;
- #region Dohvati
- public static List<Krava> DohvatiKrave()
- {
- using (model = new Model())
- {
- return model.Krava.Include("Pasmina").Include("DnevnaProizvodnja").ToList();
- }
- }
- public static Krava DohvatiKravu(int idKrava)
- {
- using (model = new Model())
- {
- return model.Krava.Include("Pasmina").Include("DnevnaProizvodnja").Where(s => s.IdKrava == idKrava).FirstOrDefault();
- }
- }
- public static List<Pasmina> DohvatiPasmine()
- {
- using (model = new Model())
- {
- return model.Pasmina.ToList();
- }
- }
- public static Pasmina DohvatiPasminu(int id)
- {
- using (model = new Model())
- {
- return model.Pasmina.Where(s => s.IdPasmina == id).FirstOrDefault();
- }
- }
- public static List<DnevnaProizvodnja> DohvatiDnevneProizvodnje()
- {
- using (model = new Model())
- {
- return model.DnevnaProizvodnja.Include("Krava").ToList();
- }
- }
- public static DnevnaProizvodnja DohvatiDnevnuProizvodnju(int id)
- {
- using (model = new Model())
- {
- return model.DnevnaProizvodnja.Include("Krava").Where(s => s.IdDnevnaProizvodnja == id).FirstOrDefault();
- }
- }
- #endregion
- public static void SpremiKravu(Krava krava)
- {
- using (model = new Model())
- {
- Krava kravica = model.Krava.Find(krava.IdKrava);
- if (kravica!=null)
- {
- kravica.Ime = krava.Ime;
- kravica.JVBroj = krava.JVBroj;
- kravica.PasminaId = krava.PasminaId;
- kravica.Slika = krava.Slika;
- kravica.BrojTeladi = krava.BrojTeladi;
- kravica.DatumDolaska = krava.DatumDolaska;
- kravica.DatumRodjenja = krava.DatumRodjenja;
- //kravica.DnevnaProizvodnja = krava.DnevnaProizvodnja;//lista
- model.SaveChanges();
- }
- }
- // npr - insert
- //using (var db = new EfContext("name=EfSample"))
- //{
- // db.Customers.Add(new Customer(id, "name") { });
- // db.SaveChanges();
- //}
- }
- }
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- //Java
- public class RepoFactory {
- private static IRepo repo;
- public static IRepo getRepo(){
- if (repo==null) {
- repo= new MemoryRepo();
- }
- return repo;
- }
- }
- public class MemoryRepo implements IRepo{
- private List<Krava> krave;
- private List<ProizvodnjaMlijeka> dnevneProizvodnjeMlijeka;
- @Override
- public List<Krava> getKrave() {
- return this.krave;
- }
- @Override
- public List<ProizvodnjaMlijeka> getDnevneProizvodnjeMlijeka() {
- return this.dnevneProizvodnjeMlijeka;
- }
- public MemoryRepo() {
- this.krave = new ArrayList<>();
- this.dnevneProizvodnjeMlijeka = new ArrayList<>();
- Krava milka = new Krava("Milka", new Date(2011, 5, 21), "HR123", new Date(2020, 5, 21), 5);
- Krava djurdja = new Krava("Djurdja", new Date(2011, 5, 21), "HR123", new Date(2020, 1, 21), 5);
- Krava sara = new Krava("Sara", new Date(2011, 5, 21), "HR123", new Date(2020, 12, 21), 3);
- this.krave.add(milka);
- this.krave.add(djurdja);
- this.krave.add(sara);
- ProizvodnjaMlijeka proizvodnja1 = new ProizvodnjaMlijeka(milka, new Date(2020, 6, 11), 26, 2.2, 1.5);
- ProizvodnjaMlijeka proizvodnja2 = new ProizvodnjaMlijeka(sara, new Date(2020, 6, 11), 35, 2.3, 1.5);
- ProizvodnjaMlijeka proizvodnja3 = new ProizvodnjaMlijeka(djurdja, new Date(2021, 6, 11), 11, 2.3, 1.5);
- this.dnevneProizvodnjeMlijeka.add(proizvodnja1);
- this.dnevneProizvodnjeMlijeka.add(proizvodnja2);
- this.dnevneProizvodnjeMlijeka.add(proizvodnja3);
- }
- }
- public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException, IOException {
- System.out.println("Unesite godinu: ");
- Scanner sc = new Scanner(System.in);
- try {
- int godina = sc.nextInt();
- izracunajProsjecnuKolicinuMlijekaIIspisiKrave(godina);
- } catch (Exception e) {
- System.out.println(e.getMessage());
- }
- //Sortiranje
- IRepo repo = RepoFactory.getRepo();
- List<Krava> krave = repo.getKrave();
- List<ProizvodnjaMlijeka> dnevneProizvodnjaMlijeka = repo.getDnevneProizvodnjeMlijeka();
- krave.forEach(s->System.out.println(s.getIme()));
- List<Krava> temp = krave.stream().sorted(Comparator.comparing(Krava::getIme)).collect(Collectors.toList());
- temp.forEach(s->System.out.println(s.getIme()));
- dnevneProizvodnjaMlijeka.forEach(s->System.out.println(s.getLitraMlijeka()));
- List<ProizvodnjaMlijeka> tempProizv = dnevneProizvodnjaMlijeka.stream().sorted(Comparator.comparingInt(ProizvodnjaMlijeka::getLitraMlijeka)).collect(Collectors.toList());
- tempProizv.forEach(s->System.out.println(s.getLitraMlijeka()));
- //fajl write 1
- PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
- writer.println("The first line");
- writer.println("The second line");
- writer.close();
- //fajl write 2
- List<String> lines = Arrays.asList("The first line", "The second line");
- Path file = Paths.get("the-file-name2.txt");
- Files.write(file, lines, StandardCharsets.UTF_8);
- //read
- File file11 = new File("C:\\Users\\fgzzh\\Desktop\\the-file-name2.txt");
- BufferedReader br = new BufferedReader(new FileReader(file11));
- String st;
- while ((st = br.readLine()) != null) System.out.println(st);
- }
- private static void izracunajProsjecnuKolicinuMlijekaIIspisiKrave(int godina) {
- IRepo repo = RepoFactory.getRepo();
- List<Krava> krave = repo.getKrave();
- List<ProizvodnjaMlijeka> dnevneProizvodnjaMlijeka = repo.getDnevneProizvodnjeMlijeka();
- double counter = 0;
- int sum = 0;
- for (ProizvodnjaMlijeka dnevnaProizvodnjaMlijeka : dnevneProizvodnjaMlijeka) {
- if(godina == dnevnaProizvodnjaMlijeka.getDatumProizvodnje().getYear()){
- counter++;
- sum += dnevnaProizvodnjaMlijeka.getLitraMlijeka();
- }
- }
- double prosjek;
- if(counter != 0){
- prosjek = sum / counter;
- System.out.println("Prosječna dnevna količina mlijeka u " + godina + " je: " + prosjek);
- System.out.println("");
- System.out.println("Krave koje su dale prosječno više od " + prosjek + " litara mlijeka u godini " + godina);
- for (ProizvodnjaMlijeka dnevnaProizvodnjaMlijeka : dnevneProizvodnjaMlijeka) {
- if(dnevnaProizvodnjaMlijeka.getLitraMlijeka() >= prosjek){
- System.out.println(dnevnaProizvodnjaMlijeka.getKrava().getIme() + " " + dnevnaProizvodnjaMlijeka.getLitraMlijeka());
- }
- }
- }
- else{
- System.out.println("Nema proizvodnje za tu godinu");
- }
- }
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- Web forms
- PRVA str:
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebFormsApp.WebForm1" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <%-- Drop down lista za izbor u gridu --%>
- <div>
- <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="DohvatiPasmine" TypeName="WebFormsApp.KraviceRepo"></asp:ObjectDataSource>
- <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" AppendDataBoundItems="true"
- DataSourceID="ObjectDataSource2" DataTextField="Naziv" DataValueField="IdPasmina" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
- </asp:DropDownList>
- </div>
- <%-- Grid - izbor iz drop downa --%>
- <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="DohvatiKravePoPasmini" OnSelecting="ObjectDataSource1_Selecting" TypeName="WebFormsApp.KraviceRepo">
- <SelectParameters>
- <asp:Parameter Name="PasminaId" Type="Int32" />
- </SelectParameters>
- </asp:ObjectDataSource>
- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" Height="214px" Width="1058px">
- <Columns>
- <asp:BoundField DataField="Ime" HeaderText="Ime" SortExpression="Ime" />
- <asp:BoundField DataField="Pasmina.Naziv" HeaderText="PasminaId" SortExpression="PasminaId" />
- <asp:BoundField DataField="DatumRodjenja" HeaderText="DatumRodjenja" DataFormatString="{0:MM/dd/yy}" SortExpression="DatumRodjenja" />
- <%-- <asp:TemplateField HeaderText="Interest Rate:">
- <ItemTemplate>
- <asp:Literal ID="IntRate" runat="server" Text='<%# Eval("DatumRodjenja") + "%" %>'></asp:Literal>
- </ItemTemplate>
- </asp:TemplateField>--%>
- <asp:BoundField DataField="JVBroj" HeaderText="JVBroj" SortExpression="JVBroj" />
- <asp:BoundField DataField="DatumDolaska" DataFormatString="{0:MM/dd/yy}" HeaderText="DatumDolaska" SortExpression="DatumDolaska" />
- <asp:BoundField DataField="BrojTeladi" HeaderText="BrojTeladi" SortExpression="BrojTeladi" />
- <asp:TemplateField HeaderText="Slika">
- <%-- Slika je u projektu --%>
- <ItemTemplate>
- <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Slika") %>' Height="45px" />
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Novi webform">
- <ItemTemplate>
- <asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click" data-ID='<%# Eval("IdKrava") %>' data-myData='<%# Eval("Ime") %>' runat="server">LinkButton</asp:LinkButton>
- </ItemTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- </div>
- </form>
- </body>
- </html>
- public partial class WebForm1 : System.Web.UI.Page
- {
- private int idPasmina = -1;
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- //1. Drop down lista za izbor u gridu
- protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
- {
- //Pokupi id i naziv iz dro down i vezi za grid
- string naziv = DropDownList1.SelectedItem.Text;
- string id = DropDownList1.SelectedItem.Value;
- idPasmina = int.Parse(id);
- GridView1.DataBind();
- }
- //2. Parametar za data source za Grid
- protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
- {
- idPasmina = int.Parse(DropDownList1.SelectedValue);//odma popuni kod prvog ucitavanja
- e.InputParameters["PasminaId"] = idPasmina;//Parametar koji prima Repo metoda za dohvati krave
- }
- //3. link iz grida
- protected void LinkButton1_Click(object sender, EventArgs e)
- {
- LinkButton button = (LinkButton)sender;
- var idKrave = (string)button.Attributes["data-ID"];
- var imeKrave = (string)button.Attributes["data-myData"];
- Response.Redirect($"WebForm2.aspx?idKrave={idKrave}&imeKrave={imeKrave}");
- }
- }
- DRUGA str:
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebFormsApp.WebForm2" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <h1><%=ImeKrave %></h1>
- <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OnSelecting="ObjectDataSource1_Selecting" SelectMethod="DohvatiDnevneProizvodnje" TypeName="WebFormsApp.KraviceRepo">
- <SelectParameters>
- <asp:Parameter Name="idKrava" Type="Int32" />
- </SelectParameters>
- </asp:ObjectDataSource>
- <asp:GridView ID="gridProizvodnja" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">
- <Columns>
- <asp:BoundField DataField="IdDnevnaProizvodnja" HeaderText="IdDnevnaProizvodnja" SortExpression="IdDnevnaProizvodnja" />
- <asp:BoundField DataField="Datum" HeaderText="Datum" SortExpression="Datum" />
- <asp:BoundField DataField="LitaraMlijeka" HeaderText="LitaraMlijeka" SortExpression="LitaraMlijeka" />
- <asp:BoundField DataField="ProsjecnaMasnoca" HeaderText="ProsjecnaMasnoca" SortExpression="ProsjecnaMasnoca" />
- <asp:BoundField DataField="ProsjecnaiMikroorganizmi" HeaderText="ProsjecnaiMikroorganizmi" SortExpression="ProsjecnaiMikroorganizmi" />
- <asp:BoundField DataField="KravaId" HeaderText="KravaId" SortExpression="KravaId" />
- </Columns>
- </asp:GridView>
- </div>
- </form>
- </body>
- </html>
- public partial class WebForm2 : System.Web.UI.Page
- {
- private int idKrave = -1;
- public string ImeKrave = "";
- protected void Page_Load(object sender, EventArgs e)
- {
- Krava krava;
- try
- {
- idKrave = int.Parse(Request.QueryString["idKrave"]);
- //napiši ime krave prije grida
- ImeKrave = Request.QueryString["imeKrave"];
- }
- catch (Exception)
- {
- }
- if (idKrave > 0)
- {
- krava = Repo.DohvatiKravu(idKrave);
- }
- }
- protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
- {
- e.InputParameters["idKrava"] = idKrave;
- }
- }
- - -- ---------------------------------------------------------------------------
- - -- ---------------------------------------------------------------------------
- //Repo geteri za entity
- KraviceRepo.cs:
- public class KraviceRepo
- {
- public static List<Krava> DohvatiKrave()
- {
- return Repo.DohvatiKrave();
- }
- public static List<Krava> DohvatiKravePoPasmini(int PasminaId)
- {
- return Repo.DohvatiKrave().Where(s => s.PasminaId == PasminaId).ToList();
- }
- public static Krava DohvatiKravu(int idKrava)
- {
- return Repo.DohvatiKravu(idKrava);
- }
- public static List<Pasmina> DohvatiPasmine()
- {
- return Repo.DohvatiPasmine();
- }
- public static Pasmina DohvatiPasminu(int id)
- {
- return Repo.DohvatiPasminu(id);
- }
- public static List<DnevnaProizvodnja> DohvatiDnevneProizvodnje()
- {
- return Repo.DohvatiDnevneProizvodnje();
- }
- public static DnevnaProizvodnja DohvatiDnevnuProizvodnju(int id)
- {
- return Repo.DohvatiDnevnuProizvodnju(id);
- }
- public static void SpremiKravu(Krava krava)
- {
- Repo.SpremiKravu(krava);
- }
- public static List<DnevnaProizvodnja> DohvatiDnevneProizvodnje(int idKrava)
- {
- return Repo.DohvatiKravu(idKrava).DnevnaProizvodnja.ToList();
- }
- }
- WEb config copy paste za entity i dodat reference na projekt i entity
- Form1.cs:
- public Form1()
- {
- InitializeComponent();
- napuniListu();
- }
- private void napuniListu()
- {
- List<Krava> krave = Repo.DohvatiKrave();
- listBox1.DataSource = krave;
- listBox1.DisplayMember = "Ime";
- }
- private void btnIzmjena_Click(object sender, EventArgs e)
- {
- Krava dummy = listBox1.SelectedValue as Krava;
- Form2 form2 = new Form2(dummy);
- form2.ShowDialog();
- napuniListu();
- }
- private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
- btnIzmjena.Enabled = true; //property je enabled false u designer
- }
- Form2.cs: //textbox, combobox, datetimepicker, numericupdown
- public Form2()
- {
- InitializeComponent();
- }
- private int idKrave;
- public Form2(Krava krava)
- {
- InitializeComponent();
- txtIme.Text = krava.Ime;
- comboPasmina.DataSource = Repo.DohvatiPasmine();
- comboPasmina.DisplayMember = "Naziv";
- comboPasmina.ValueMember = "IdPasmina";
- comboPasmina.SelectedValue = krava.PasminaId;
- //comboPasmina.DropDownStyle = ComboBoxStyle.DropDownList;
- dateRodjenje.Value = krava.DatumRodjenja;
- txtJVBroj.Text = krava.JVBroj;
- dateDolazak.Value = krava.DatumDolaska;
- numericTelad.Value = krava.BrojTeladi;
- idKrave = krava.IdKrava;
- }
- private void btnOdustani_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- private void btnSpremi_Click(object sender, EventArgs e)
- {
- if (IsValid())
- {
- try
- {
- Krava dummy = Repo.DohvatiKravu(idKrave);
- dummy.Ime = txtIme.Text;
- dummy.JVBroj = txtJVBroj.Text;
- dummy.PasminaId = int.Parse(comboPasmina.SelectedValue.ToString());
- dummy.DatumRodjenja = dateRodjenje.Value;
- dummy.DatumDolaska = dateDolazak.Value;
- dummy.BrojTeladi = (int)numericTelad.Value;
- Repo.SpremiKravu(dummy);
- MessageBox.Show("Uspješno ste izmijenili");
- }
- catch (Exception)
- {
- MessageBox.Show("Krivo ste popunili");
- }
- }
- }
- private bool IsValid()
- {
- bool isValid = true;
- string jvb = txtJVBroj.Text;
- if (jvb.Substring(0, 2) != "HR")
- {
- isValid = false;
- MessageBox.Show("Mora pocinjat s HR...");
- }
- if (numericTelad.Value<0)
- {
- isValid = false;
- MessageBox.Show("Broj ne moze biti negativan");
- }
- if (dateRodjenje.Value >DateTime.Now)
- {
- isValid = false;
- MessageBox.Show("Datum rođenja ne može biti u budućnosti");
- }
- if (dateDolazak.Value > DateTime.Now)
- {
- isValid = false;
- MessageBox.Show("Datum rođenja ne može biti u budućnosti");
- }
- return isValid;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement