Esempio n. 1
0
        public Topup[] SaveData()
        {
            int result = 0;
            int rc;

            Topup[] topups = Topup.GetTopups(new TopupParameters {
                OTP = SenderOTP
            }, out rc);
            Topup        topup = topups[0];
            List <Topup> t     = new List <Topup>();

            if (topup.Status == "0")

            {
                if (topup.Amount > Amount)
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Connection  = new SqlConnection(cstr.con);
                        cmd.Connection.Open();
                        cmd.CommandText = "SaveTransferData";


                        if (SenderOTP != null)
                        {
                            cmd.Parameters.AddWithValue("senderOTP", SenderOTP);
                        }
                        if (MeterId != null)
                        {
                            cmd.Parameters.AddWithValue("meter_id", MeterId);
                        }
                        if (Amount != null)
                        {
                            cmd.Parameters.AddWithValue("amount", Amount);
                        }

                        SqlParameter idParam = cmd.Parameters.Add("@id", SqlDbType.Int);
                        idParam.Direction = ParameterDirection.InputOutput;

                        SqlParameter resultParam = cmd.Parameters.Add("@result", SqlDbType.Int);
                        resultParam.Direction = ParameterDirection.InputOutput;

                        idParam.Value = this.Id;

                        int c = cmd.ExecuteNonQuery();

                        this.Id = Convert.ToInt32(idParam.Value);
                        result  = Convert.ToInt32(resultParam.Value);
                        cmd.Connection.Close();

                        decimal?amount = topup.Amount - Amount;
                        Topup   topup1 = new Topup(null, topup.MeterId, amount, topup.SerialNUM);
                        topup1.SaveDataTransfered();
                        Topup topup2 = new Topup(null, MeterId, Amount, topup.SerialNUM);
                        topup2.SaveDataTransfered();

                        Topup topupnotvalid = new Topup(topup.Id);
                        topupnotvalid.SaveDataTransfered();

                        t.Add(topup1);
                        t.Add(topup2);
                    }
                }
            }
            return(t.ToArray());
        }
Esempio n. 2
0
        public static Topup[] GetTopups(TopupParameters parameters, out int rowsCount)
        {
            List <Topup> l = new List <Topup>();

            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection  = new SqlConnection(cstr.con);
                cmd.Connection.Open();
                cmd.CommandText = "GetTopups";

                cmd.Parameters.AddWithValue("@card_serialnum", parameters.SerialNUM);
                cmd.Parameters.AddWithValue("@status", parameters.Status);
                cmd.Parameters.AddWithValue("@otp", parameters.OTP);
                cmd.Parameters.AddWithValue("@meter_id", parameters.MeterId);

                SqlDataReader r = cmd.ExecuteReader();
                if (r.HasRows)
                {
                    while (r.Read())
                    {
                        Topup c = new Topup();
                        if (r["id"] != DBNull.Value)
                        {
                            c.Id = Convert.ToInt32(r["id"]);
                        }
                        if (r["meter_id"] != DBNull.Value)
                        {
                            c.MeterId = Convert.ToString(r["meter_id"]);
                        }
                        if (r["amount"] != DBNull.Value)
                        {
                            c.Amount = Convert.ToDecimal(r["amount"]);
                        }
                        if (r["card_serialnum"] != DBNull.Value)
                        {
                            c.SerialNUM = Convert.ToString(r["card_serialnum"]);
                        }
                        if (r["otp"] != DBNull.Value)
                        {
                            c.OTP = Convert.ToInt32(r["otp"]);
                        }
                        // if (r["otp"] != DBNull.Value) c.OTP = Convert.ToString(r["otp"]);
                        if (r["chargeDate"] != DBNull.Value)
                        {
                            c.ChargeDate = Convert.ToDateTime(r["chargeDate"]);
                        }
                        if (r["activationDate"] != DBNull.Value)
                        {
                            c.ActivationDate = Convert.ToDateTime(r["activationDate"]);
                        }
                        if (r["status"] != DBNull.Value)
                        {
                            c.Status = Convert.ToString(r["status"]);
                        }

                        l.Add(c);
                    }
                }

                r.Close();
                cmd.Connection.Close();
                rowsCount = l.Count;
            }
            return(l.ToArray());
        }