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); }
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); }
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(); } } } }