// //////////////////////////////////////////////////////////////////////// // METHODS // private void Save() { bool existsAtGrid = false; // Validate page if (Page.IsValid) { SelectProjectLastUsedProjectsGateway selectProjectLastUsedProjectsVerifyGateway = new SelectProjectLastUsedProjectsGateway(selectProjectTDS); if (selectProjectLastUsedProjectsVerifyGateway.Table.Rows.Count > 0) { // If exists the project in the grid foreach (GridViewRow row in grdProjects.Rows) { // Grid Data int gridClientId = Int32.Parse(((Label)row.FindControl("lblClientId")).Text.Trim()); int gridProjectId = Int32.Parse(((Label)row.FindControl("lblProjectId")).Text.Trim()); int gridUserId = Int32.Parse(((Label)row.FindControl("lblUserId")).Text.Trim()); int gridCompanyId = Int32.Parse(((Label)row.FindControl("lblCompanyId")).Text.Trim()); DateTime gridLastLoggedInDate = DateTime.Parse(((Label)row.FindControl("lblLastLoggedInDate")).Text.Trim()); string workType = hdfWorkType.Value; // New Data DateTime newLastLoggedInDate = DateTime.Now; if ((gridClientId.ToString() == ddlClient.SelectedValue) && (gridProjectId.ToString() == ddlProject.SelectedValue) && (gridUserId == Int32.Parse(hdfLoginId.Value)) && (gridCompanyId == Int32.Parse(hdfCompanyId.Value))) { // Update if exists SelectProjectLastUsedProjects model = new SelectProjectLastUsedProjects(selectProjectTDS); model.UpdateLogginDate(gridClientId, gridProjectId, gridUserId, gridLastLoggedInDate, gridCompanyId, false, workType, newLastLoggedInDate); existsAtGrid = true; } Session["selectProjectTDS"] = selectProjectTDS; Session["lastUsedProjects"] = selectProjectTDS.LastUsedProjects; grdProjects.DataBind(); grdProjects.PageIndex = grdProjects.PageCount - 1; } } // If doesn't exists at grid if (!existsAtGrid) { if (grdProjects.Rows.Count < 5) { // Add data if exist at grid's foot GrdProjectAdd(); } else { int index = 1; foreach (GridViewRow row in grdProjects.Rows) { if (index == 5) { // Grid Data int gridClientId = Int32.Parse(((Label)row.FindControl("lblClientId")).Text.Trim()); int gridProjectId = Int32.Parse(((Label)row.FindControl("lblProjectId")).Text.Trim()); int gridUserId = Int32.Parse(((Label)row.FindControl("lblUserId")).Text.Trim()); int gridCompanyId = Int32.Parse(((Label)row.FindControl("lblCompanyId")).Text.Trim()); DateTime gridLastLoggedInDate = DateTime.Parse(((Label)row.FindControl("lblLastLoggedInDate")).Text.Trim()); string workType = hdfWorkType.Value; // New Data int newProjectId = Int32.Parse(ddlProject.SelectedValue); int newClientId = Int32.Parse(ddlClient.SelectedValue); int newCompanyId = Int32.Parse(hdfCompanyId.Value); int newUserId = Convert.ToInt32(Session["loginID"]); DateTime newLastLoggedInDate = DateTime.Now; string newWorkType = hdfWorkType.Value; ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(newProjectId); string newProjectName = projectGateway.GetName(newProjectId) + " (" + projectGateway.GetProjectNumber(newProjectId) + ")"; int companyId = Int32.Parse(hdfCompanyId.Value); CompaniesGateway companiesGateway = new CompaniesGateway(); companiesGateway.LoadByCompaniesId(newClientId, companyId); string newClientName = companiesGateway.GetName(newClientId); // Update if exists SelectProjectLastUsedProjects model = new SelectProjectLastUsedProjects(selectProjectTDS); model.Update(gridClientId, gridProjectId, gridUserId, gridCompanyId, workType, newClientId, newProjectId, newUserId, newLastLoggedInDate, newCompanyId, false, newWorkType, newProjectName, newClientName); } index = index + 1; } Session["selectProjectTDS"] = selectProjectTDS; Session["lastUsedProjects"] = selectProjectTDS.LastUsedProjects; grdProjects.DataBind(); grdProjects.PageIndex = grdProjects.PageCount - 1; } } // Update data at bd UpdateDatabase(); } }
private void UpdateDatabase() { DB.Open(); DB.BeginTransaction(); try { int companyId = Int32.Parse(hdfCompanyId.Value); // Update comments SelectProjectLastUsedProjects selectProjectLastUsedProjects = new SelectProjectLastUsedProjects(selectProjectTDS); selectProjectLastUsedProjects.Save(companyId); // Store datasets Session["selectProjectTDS"] = selectProjectTDS; Session["lastUsedProjects"] = selectProjectTDS.LastUsedProjects; DB.CommitTransaction(); } catch (Exception ex) { DB.RollbackTransaction(); string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } }
private void GrdProjectAdd() { if (Page.IsValid) { int projectId = Int32.Parse(ddlProject.SelectedValue); int clientId = Int32.Parse(ddlClient.SelectedValue); int companyId = Int32.Parse(hdfCompanyId.Value); int loginId = Convert.ToInt32(Session["loginID"]); DateTime lastLoggedInDate = DateTime.Now; bool deleted = false; string workType = hdfWorkType.Value; ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); string projectName = projectGateway.GetName(projectId) + " (" + projectGateway.GetProjectNumber(projectId) + ")"; CompaniesGateway companiesGateway = new CompaniesGateway(); companiesGateway.LoadByCompaniesId(clientId, companyId); string clientName = companiesGateway.GetName(clientId); SelectProjectLastUsedProjects model = new SelectProjectLastUsedProjects(selectProjectTDS); model.Insert(clientId, projectId, loginId, lastLoggedInDate, companyId, deleted, workType, projectName, clientName, false); Session.Remove("lastUsedProjectsDummy"); Session["selectProjectTDS"] = selectProjectTDS; Session["lastUsedProjects"] = selectProjectTDS.LastUsedProjects; grdProjects.DataBind(); grdProjects.PageIndex = grdProjects.PageCount - 1; } }