protected void btnDelete_Click(object sender, EventArgs e) { ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic(); ActivityWorker AativityWorker = activityWorkerBusinessLogic.GetByID(Convert.ToInt32(HfDeleteID.Value)); Activity activity = AativityWorker.Activity; Worker worker = AativityWorker.Worker; ActivityBusinessLogic activityBusinessLogic = new ActivityBusinessLogic(); activityBusinessLogic.DetachWoker(activity, worker); BindDdListWorkers(); BindGridVeiwWorksByActivity(); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "delHideModalScript", Util.GetScriptToHideModalDialog("deleteModal"), false); }
public ActivityWorker AttachWoker(Activity activity, Worker worker, double hours, string comment) { ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic(); ActivityWorker activityWorker = null; if (activity.GetWorkers().Contains(worker)) { activityWorker = activity.GetActivityWorkerByWorker(worker); if (activityWorker.Hours != hours) { activityWorker.Hours = hours; activityWorkerBusinessLogic.Update(activityWorker); } return(activityWorker); } activityWorker = new ActivityWorker() { Activity = activity, Worker = worker, Hours = hours, Comment = comment }; activityWorkerBusinessLogic.Insert(activityWorker); activity.ActivityWorkers.Add(activityWorker); return(activityWorker); }
public void DetachWoker(Activity activity, Worker worker) { if (!activity.GetWorkers().Contains(worker)) { return; } ActivityWorker activityWorker = activity.GetActivityWorkerByWorker(worker); activity.ActivityWorkers.Remove(activityWorker); ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic(); activityWorkerBusinessLogic.Delete(activityWorker); }
private void EditRow(GridViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); int id = Convert.ToInt32(gridViewWorksByActivity.DataKeys[index].Value.ToString()); GridViewRow gvrow = gridViewWorksByActivity.Rows[index]; this.HfUpdateID.Value = id.ToString(); Activity activity = CurrentActivity(); ActivityWorker activityWorker = activity.ActivityWorkers.Where(a => a.ID == id).SingleOrDefault(); this.txtEditDate.Text = activity.Date.ToShortDateString(); this.txtEditWorkername.Text = activityWorker.Worker.FullName; this.txtEditHours.Text = activityWorker.Hours.ToString("N2").Replace(",", "."); this.txtEditComment.Text = activityWorker.Comment; this.lblEditErrorMessage.Text = string.Empty; Worker worker = activityWorker.Worker; ActivityBusinessLogic activityBusinessLogic = new ActivityBusinessLogic(); double hoursAvaiable = activityBusinessLogic.GetAvaiablesHoursByWorkerOnDate(worker, activity.Date); this.lblEditAvaiableHours.Text = hoursAvaiable.ToString("N2").Replace(",", ".");; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "EditModalScript", Util.GetScriptToShowModalDialog("editModal"), false); }
public IList <ReportObjectHoursByWorker> GetWorkedHours(DateTime date) { ActivityBusinessLogic activityBusinessLogic = new ActivityBusinessLogic(); IList <Activity> listActivity = activityBusinessLogic.GetAll(); listActivity = listActivity.Where(a => a.Date == date).ToList(); List <Worker> listWorkers = new List <Worker>(); foreach (var item in listActivity) { listWorkers.AddRange(item.GetWorkers().Distinct()); } var listWorkersDistinct = listWorkers.Distinct(); IList <ReportObjectHoursByWorker> list = new List <ReportObjectHoursByWorker>(); foreach (Worker worker in listWorkersDistinct) { double hours = 0; foreach (Activity activity in listActivity) { ActivityWorker activityWorker = activity.GetActivityWorkerByWorker(worker); if (activityWorker != null) { hours += activityWorker.Hours; } } list.Add(new ReportObjectHoursByWorker() { Name = worker.FullName, Hours = hours }); } return(list); }
protected void btnUpdate_Click(object sender, EventArgs e) { System.Text.StringBuilder sb = null; double hoursWorked; if (!Double.TryParse(txtEditHours.Text.Replace('.', ','), out hoursWorked) || hoursWorked <= 0) { this.lblEditErrorMessage.Text = "Valor das horas não é válido!"; return; } if (string.IsNullOrWhiteSpace(txtEditComment.Text)) { this.lblEditErrorMessage.Text = "É necessário informar um comentário!"; return; } int id = Convert.ToInt32(HfUpdateID.Value); Activity activity = CurrentActivity(); ActivityWorker activityWorker = activity.ActivityWorkers.Where(a => a.ID == id).SingleOrDefault(); ActivityBusinessLogic activityBusinessLogic = new ActivityBusinessLogic(); double maxHoursByDay = ActivityBusinessLogic.MaxWorkHoursByDay(); double temp = activityWorker.Hours; activityWorker.Hours = hoursWorked; double hoursAvaiable = activityBusinessLogic.GetAvaiablesHoursByWorkerOnDate(activityWorker.Worker, activity.Date); if (hoursAvaiable < 0 || hoursWorked > maxHoursByDay || (hoursWorked - hoursAvaiable) > maxHoursByDay) { activityWorker.Hours = temp; this.lblEditErrorMessage.Text = "As horas trabalhas superam as horas dispónives!"; return; } activityWorker.Hours = hoursWorked; activityWorker.Comment = txtEditComment.Text; ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic(); activityWorkerBusinessLogic.Update(activityWorker); BindGridVeiwWorksByActivity(); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "EditHideModalScript", Util.GetScriptToHideModalDialog("editModal"), false); this.txtEditDate.Text = string.Empty; this.txtEditWorkername.Text = string.Empty; }