public int updateWaterDetails(WaterDetailsBAL obj)
        {
            int i = 0;

            try
            {
                cmd.CommandText = "updateWaterDetails";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@plantID", obj.plantID);
                cmd.Parameters.AddWithValue("@waterStartTime", obj.waterStartTime);
                cmd.Parameters.AddWithValue("@waterEndTime", obj.waterEndTime);
                cmd.Parameters.AddWithValue("@IsWateredFlag", obj.IsWateredFlag);


                con.Open();
                i = cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cmd.Parameters.Clear();
                con.Close();
                con.Dispose();
                cmd.Dispose();
            }
            return(i);
        }
Exemple #2
0
        public void BindGrid()
        {
            WaterDetailsBAL        obj = new WaterDetailsBAL();
            List <WaterDetailsBAL> lst = new List <WaterDetailsBAL>();

            lst            = obj.getWaterDetails(0);
            Session["lst"] = lst;

            grdPlants.DataSource = lst;
            grdPlants.DataBind();
        }
        public List <WaterDetailsBAL> getWaterDetails(Int32 plantID)
        {
            List <WaterDetailsBAL> lst = new List <WaterDetailsBAL>();
            SqlDataReader          dr;

            try
            {
                cmd.CommandText = "getWaterDetails";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@plantID", plantID);
                con.Open();

                dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        WaterDetailsBAL obj = new WaterDetailsBAL();
                        obj.plantID        = dr.GetInt32(dr.GetOrdinal("plantID"));
                        obj.waterStartTime = dr.GetDateTime(dr.GetOrdinal("waterStartTime"));
                        obj.waterEndTime   = dr.GetDateTime(dr.GetOrdinal("waterEndTime"));
                        obj.IsWateredFlag  = dr.GetBoolean(dr.GetOrdinal("IsWateredFlag"));

                        lst.Add(obj);
                    }
                    //dr.NextResult();
                }
                dr.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cmd.Parameters.Clear();
                cmd.Dispose();
                con.Close();
                con.Dispose();
            }
            return(lst);
        }
Exemple #4
0
        protected void grdPlants_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "STRT")
            {
                int             rowIndex = Convert.ToInt32(e.CommandArgument);
                WaterDetailsBAL obj      = new WaterDetailsBAL();

                obj.plantID        = rowIndex + 1;
                obj.waterStartTime = DateTime.Now;
                obj.waterEndTime   = obj.waterStartTime.AddSeconds(10);
                obj.IsWateredFlag  = true;

                List <WaterDetailsBAL> lst = (List <WaterDetailsBAL>)Session["lst"];
                //var old = DateTime.ParseExact(grdPlants.Rows[rowIndex].Cells[2].Text, "T", null);

                //if (DateTime.Now > old.AddSeconds(30))
                if (DateTime.Now > lst[rowIndex].waterEndTime.AddSeconds(30))
                {
                    //System.Threading.Thread.Sleep(10000);


                    int i = obj.updateWaterDetails(obj);
                    if (i > 0)
                    {
                        //Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "AfterStart()", true);
                        BindGrid();
                        var moveIndex = rowIndex + 1;

                        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "move(" + moveIndex + ")", true);

                        //CheckForWater();
                    }
                }
                else
                {
                    //List<WaterDetailsBAL> lst = (List<WaterDetailsBAL>)Session["lst"];
                    //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Wait For 30 Seconds')", true);
                    int remainingTime = 30 - Convert.ToInt32((DateTime.Now - lst[rowIndex].waterEndTime).TotalSeconds);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "WaitFor30(" + remainingTime + ")", true);
                }
            }
            else if (e.CommandName == "STOP")
            {
                //System.Threading.Thread.
                int                    rowIndex = Convert.ToInt32(e.CommandArgument);
                WaterDetailsBAL        obj      = new WaterDetailsBAL();
                List <WaterDetailsBAL> lst      = (List <WaterDetailsBAL>)Session["lst"];
                obj.plantID        = rowIndex + 1;
                obj.waterStartTime = lst[rowIndex].waterStartTime;
                obj.waterEndTime   = DateTime.Now;
                if (lst[rowIndex].waterEndTime < DateTime.Now)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "NoProcess()", true);
                }
                else
                {
                    int i = obj.updateWaterDetails(obj);
                    if (i > 0)
                    {
                        BindGrid();
                        //CheckForWater();
                    }
                }
            }
        }