public void btnAddNewAtivityWorker_Click(object sender, EventArgs e) { System.Text.StringBuilder sb = null; double hoursWorked; if (!Double.TryParse(txtAddHours.Text.Replace('.', ','), out hoursWorked) || hoursWorked <= 0) { this.lblAddErrorMessage.Text = "Valor das horas não é válido!"; return; } if (string.IsNullOrWhiteSpace(txtAddComment.Text)) { this.lblAddErrorMessage.Text = "É necessário informar um comentário!"; return; } int workerID = Convert.ToInt32(hfNewActivityWorker.Value); Activity activity = CurrentActivity(); WorkerBusinessLogic workerBusinessLogic = new WorkerBusinessLogic(); Worker worker = workerBusinessLogic.GetByID(workerID); ActivityBusinessLogic activityBusinessLogic = new ActivityBusinessLogic(); double hoursAvaiable = activityBusinessLogic.GetAvaiablesHoursByWorkerOnDate(worker, activity.Date); if (hoursWorked > hoursAvaiable) { this.lblAddErrorMessage.Text = "As horas trabalhas superam as horas dispónives!"; return; } activityBusinessLogic.AttachWoker(activity, worker, hoursWorked, txtAddComment.Text); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "EditHideModalScript", Util.GetScriptToHideModalDialog("addModal"), false); BindDdListWorkers(); BindGridVeiwWorksByActivity(); }