コード例 #1
0
        public PokladniZaznam VytvorZaznam(PokladniZaznam pokladniZaznam)
        {
            List <PokladniZaznam> data = NactiVse();

            if (data.Find(doklad => doklad.Datum > pokladniZaznam.Datum) == null)
            // vkládaný záznam je poslední
            {
                data.Sort((a, b) => a.IdPokladniZaznam.CompareTo(b.IdPokladniZaznam));
                pokladniZaznam.IdPokladniZaznam = data.Last().IdPokladniZaznam + 1;
                data.Sort((a, b) => a.Datum.CompareTo(b.Datum));
                if (data.Last().Datum.Month == pokladniZaznam.Datum.Month)
                {
                    pokladniZaznam.Cislo = data.Last().Cislo + 1;
                }
                else
                {
                    pokladniZaznam.Cislo = 1;
                }
                pokladniZaznam.Zustatek = data.Last().Zustatek + pokladniZaznam.Castka;
            }
            // vkládaný záznam není poslední
            else
            {
                // Id bude nejvyšší +1
                data.Sort((a, b) => a.IdPokladniZaznam.CompareTo(b.IdPokladniZaznam));
                pokladniZaznam.IdPokladniZaznam = data.Last().IdPokladniZaznam + 1;
                // Číslo bude o jedna vyšší než poslední ve stejném měsíci
                List <PokladniZaznam> dataMesice = data.FindAll(doklad => doklad.Datum.Year == pokladniZaznam.Datum.Year &&
                                                                doklad.Datum.Month == pokladniZaznam.Datum.Month);
                dataMesice.Sort((a, b) => a.Cislo.CompareTo(b.Cislo));
                if (dataMesice.Count > 0)
                {
                    if (dataMesice.Find(doklad => doklad.Datum > pokladniZaznam.Datum) == null)
                    // je poslední v rámci měsíce
                    {
                        pokladniZaznam.Cislo = dataMesice.Last().Cislo + 1;
                    }
                    else
                    {
                        int index = dataMesice.FindIndex(doklad => doklad.Datum > pokladniZaznam.Datum);
                        pokladniZaznam.Cislo = dataMesice[index].Cislo;
                        for (int i = index; i < dataMesice.Count; i++)
                        {
                            dataMesice[i].Cislo += 1;
                        }
                    }
                }
                else
                {
                    pokladniZaznam.Cislo = 1;
                }
                // Zůstatek je
            }
            data.Add(pokladniZaznam);
            string json = JsonConvert.SerializeObject(data);

            File.WriteAllText(datovySoubor, json);
            return(pokladniZaznam);
        }
コード例 #2
0
        private void btnUlozitJakoNovy_Click(object sender, EventArgs e)
        {
            PokladniZaznam novyZaznam = new PokladniZaznam(dtpDatum.Value
                                                           , txtPopis.Text
                                                           , (double)numCastka.Value
                                                           , txtPoznamka.Text);

            repositar.VytvorZaznam(novyZaznam);
            NactiDataAktMesic();
            txtPopis.Text    = "";
            numCastka.Value  = 0;
            txtPoznamka.Text = "";
        }
コード例 #3
0
ファイル: SqlRepos.cs プロジェクト: JelinekLukas/Pokladna
        public PokladniZaznam VytvorZaznam(PokladniZaznam pokladniZaznam)
        {
            PokladniZaznam result = pokladniZaznam;
            PokladniZaznam z      = pokladniZaznam;

            using (SqlConnection sqlConnection = new SqlConnection(connString))
            {
                string dotaz = $"insert into PokladniZaznamy(Cislo    ,Datum    ,Popis      ,Castka    ,Zustatek    ,Poznamka    ) " +
                               $"values({z.Cislo},'{z.Datum.ToString("yyyyMMdd")}','{z.Popis}',{z.Castka},{z.Zustatek},'{z.Poznamka}')";
                using (SqlCommand sqlCommand = new SqlCommand(dotaz, sqlConnection))
                {
                    sqlConnection.Open();
                    sqlCommand.ExecuteNonQuery();
                    sqlConnection.Close();
                }
            }
            return(result);
        }
コード例 #4
0
 public PokladniZaznam VytvorZaznam(PokladniZaznam pokladniZaznam)
 {
     throw new NotImplementedException();
 }
コード例 #5
0
 public void UpravZaznam(PokladniZaznam pokladniZaznam)
 {
     throw new NotImplementedException();
 }