예제 #1
0
        public static Presek GetPresekByZahtev(ZahtevZaDobijanjeIzvoda zahtev)
        {
            Presek p = null;

            using (SqlConnection conn = MySQLUtils.NapraviBankaConn())
            {
                conn.Open();

                string sql = "SELECT * FROM presek WHERE datumnaloga = @datumnaloga AND brracuna = @brracuna";

                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("@brracuna", zahtev.BrRacuna);
                    cmd.Parameters.AddWithValue("@datumnaloga", zahtev.Datum);

                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        p = ReadFromReader(reader);
                    }

                    reader.Close();
                }

                conn.Close();
            }
            return(p);
        }
예제 #2
0
        /// <summary>
        /// Menja stanje u bankama za firme
        /// </summary>
        /// <param name="racun"> Racun firme odn. polje broj racuna</param>
        /// <param name="iznos"> Iznos koji treba da se doda oduzme (-iznos ako oduzimas)</param>
        /// <returns></returns>
        private void PromenaStanjaUBanciZaFirmu(string racun, double iznos, StavkaPreseka stavkaPreseka)
        {
            Racun  r = KombinacijeDB.PromeniStanjeRacunaFirme(Int64.Parse(racun), iznos);
            Presek p = KombinacijeDB.ProveriPresek(r);

            stavkaPreseka.IDPreseka = p.IDPreseka;
            StavkaPresekaDB.InsertStavkaPreseka(stavkaPreseka);

            BANKASVCCONSOLE(PresekDB.GetPresek(p.IDPreseka).ToString());
        }
예제 #3
0
        }        //

        public static Presek ReadFromReader(SqlDataReader reader)
        {
            Presek ret = new Presek();

            ret.IDPreseka        = (int)reader["idpreseka"];
            ret.BrRacuna         = (string)reader["brracuna"];
            ret.DatumNaloga      = (DateTime)reader["datumnaloga"];
            ret.BrPreseka        = (double)(decimal)reader["brpreseka"];
            ret.PrethodnoStanje  = (double)(decimal)reader["prethodnostanje"];
            ret.BrPromenaUKorist = (double)(decimal)reader["brpromenaukorist"];
            ret.UkupnoUKorist    = (double)(decimal)reader["ukupnoukorist"];
            ret.BrPromenaNaTeret = (double)(decimal)reader["brpromenanateret"];
            ret.UkupnoNaTeret    = (double)(decimal)reader["ukupnonateret"];
            ret.NovoStanje       = (double)(decimal)reader["novostanje"];

            ret.StavkePreseka = StavkaPresekaDB.GetAllStavkaPresekaByPresekId(ret.IDPreseka);

            return(ret);
        }
예제 #4
0
        }        //

        //
        public static void InsertIntoPresek(Presek f)
        {
            using (SqlConnection conn = MySQLUtils.NapraviBankaConn())
            {
                string sql = @"INSERT INTO [dbo].[presek]
											   ([brracuna]
											   ,[datumnaloga]
											   ,[brpreseka]
											   ,[prethodnostanje]
											   ,[brpromenaukorist]
											   ,[ukupnoukorist]
											   ,[brpromenanateret]
											   ,[ukupnonateret]
											   ,[novostanje])
										 VALUES
											   (@brracuna
											   ,@datumnaloga
											   ,@brpreseka 
											   ,@prethodnostanje
											   ,@brpromenaukorist
											   ,@ukupnoukorist
											   ,@brpromenanateret
											   ,@ukupnonateret
											   ,@novostanje			)"                                                    ;
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("@brracuna", f.BrRacuna);
                    cmd.Parameters.AddWithValue("@datumnaloga", f.DatumNaloga);
                    cmd.Parameters.AddWithValue("@brpreseka", f.BrPreseka);
                    cmd.Parameters.AddWithValue("@prethodnostanje", f.PrethodnoStanje);
                    cmd.Parameters.AddWithValue("@brpromenaukorist", f.BrPromenaUKorist);
                    cmd.Parameters.AddWithValue("@ukupnoukorist", f.UkupnoUKorist);
                    cmd.Parameters.AddWithValue("@brpromenanateret", f.BrPromenaNaTeret);
                    cmd.Parameters.AddWithValue("@ukupnonateret", f.UkupnoNaTeret);
                    cmd.Parameters.AddWithValue("@novostanje", f.NovoStanje);
                    cmd.ExecuteNonQuery();
                }
                conn.Close();
            }
        }        //
예제 #5
0
        }        //

        //
        public static Presek GetPresek(int idPreseka)
        {
            Presek ret;

            using (SqlConnection conn = MySQLUtils.NapraviBankaConn())
            {
                conn.Open();
                string sql = @"SELECT * FROM presek WHERE idpreseka= @idpreseka";
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("@idpreseka", idPreseka);
                    ret = new Presek();
                    SqlDataReader reader = cmd.ExecuteReader();

                    reader.Read();
                    ret = ReadFromReader(reader);
                    reader.Close();
                }
                conn.Close();
            }

            return(ret);
        }        //
예제 #6
0
        //
        public static List <Presek> GetAllPresek()
        {
            List <Presek> preseci = new List <Presek>();

            using (SqlConnection conn = MySQLUtils.NapraviFirmaConn())
            {
                conn.Open();
                string sql = @"SELECT * FROM presek";
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Presek ret = new Presek();
                        ret = ReadFromReader(reader);
                        preseci.Add(ret);
                    }
                    reader.Close();
                }
                conn.Close();
            }

            return(preseci);
        }        //
예제 #7
0
        /// <summary>
        /// Proverava da li postoji presek za dati racun i datum (koji izvlaci iz racuna);
        /// <para>ako ne postoji:
        ///		kreira se novi presek sa default vrednostima u skladu sa racunom;</para>
        ///	<para>ako postoji:
        ///		updateuj presek u skladu sa racunom;</para>
        /// </summary>
        /// <param name="r"></param>
        /// <returns></returns>
        public static Presek ProveriPresek(Racun r)
        {
            Presek p = null;

            DateTime datumnaloga = r.Datum;
            string   brracuna    = r.BrojRacuna.ToString();

            using (SqlConnection conn = MySQLUtils.NapraviBankaConn())
            {
                conn.Open();
                string sqlNadjiPresek = @"SELECT * FROM presek 
											WHERE brracuna = @brracuna 
											AND datumnaloga = @datumnaloga"                                            ;

                //gledas dal presek postoji
                using (SqlCommand cmd = new SqlCommand(sqlNadjiPresek, conn))
                {
                    cmd.Parameters.AddWithValue("@brracuna ", brracuna);
                    cmd.Parameters.AddWithValue("@datumnaloga", datumnaloga);
                    SqlDataReader reader = cmd.ExecuteReader();

                    if (reader.Read())
                    {
                        p = PresekDB.ReadFromReader(reader);
                    }
                    reader.Close();
                }

                //ako nisi iscitao presek, pravi novi
                if (p == null)
                {
                    p             = new Presek();
                    p.BrRacuna    = r.BrojRacuna.ToString();
                    p.DatumNaloga = r.Datum;
                    p.BrPreseka   = 0;

                    p.BrPromenaNaTeret = 0;
                    p.BrPromenaUKorist = 0;
                    p.UkupnoNaTeret    = 0;
                    p.UkupnoUKorist    = 0;

                    if (r.PredhodnoStanje > r.TrenutnoStanje)
                    {
                        p.BrPromenaNaTeret = 1;
                        p.UkupnoNaTeret    = r.PredhodnoStanje - r.TrenutnoStanje;
                    }
                    else
                    {
                        p.BrPromenaUKorist = 1;
                        p.UkupnoUKorist    = r.TrenutnoStanje - r.PredhodnoStanje;
                    }

                    p.NovoStanje      = r.TrenutnoStanje;
                    p.PrethodnoStanje = r.PredhodnoStanje;

                    PresekDB.InsertIntoPresek(p);
                }

                //ako si iscitao presek, updateuj ga
                else
                {
                    string sqlUpdate = @"UPDATE presek SET
										prethodnostanje		= @prethodnostanje,
										brpromenaukorist	= @brpromenaukorist,
										ukupnoukorist		= @ukupnoukorist,
										brpromenanateret	= @brpromenanateret ,
										ukupnonateret		= @ukupnonateret ,
										novostanje			= @novostanje
										WHERE brracuna		= @brracuna 
										AND datumnaloga		= @datumnaloga;"                                            ;


                    if (r.PredhodnoStanje > r.TrenutnoStanje)
                    {
                        p.BrPromenaNaTeret += 1;
                        p.UkupnoNaTeret    += r.PredhodnoStanje - r.TrenutnoStanje;
                    }
                    else
                    {
                        p.BrPromenaUKorist += 1;
                        p.UkupnoUKorist    += r.TrenutnoStanje - r.PredhodnoStanje;
                    }

                    //updateuj postojeci
                    using (SqlCommand cmd = new SqlCommand(sqlUpdate, conn))
                    {
                        cmd.Parameters.AddWithValue("@prethodnostanje", r.PredhodnoStanje);
                        cmd.Parameters.AddWithValue("@brpromenaukorist", p.BrPromenaUKorist);
                        cmd.Parameters.AddWithValue("@ukupnoukorist", p.UkupnoUKorist);
                        cmd.Parameters.AddWithValue("@brpromenanateret", p.BrPromenaNaTeret);
                        cmd.Parameters.AddWithValue("@ukupnonateret", p.UkupnoNaTeret);
                        cmd.Parameters.AddWithValue("@novostanje", r.TrenutnoStanje);
                        cmd.Parameters.AddWithValue("@brracuna", r.BrojRacuna);
                        cmd.Parameters.AddWithValue("@datumnaloga", r.Datum);

                        cmd.ExecuteNonQuery();
                    }
                }

                //uiscupaj ga ponovo, ovaj put <b>sigurno</b> postoji
                using (SqlCommand cmd = new SqlCommand(sqlNadjiPresek, conn))
                {
                    cmd.Parameters.AddWithValue("@brracuna ", brracuna);
                    cmd.Parameters.AddWithValue("@datumnaloga", datumnaloga);
                    SqlDataReader reader = cmd.ExecuteReader();

                    reader.Read();
                    p = PresekDB.ReadFromReader(reader);
                    Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" + p.ToString() + "\n");
                    reader.Close();
                }

                conn.Close();
            }

            return(p);
        }