private int SaveRequest() { int requestId = 0; DateTime dt; ClientRequest rqst = new ClientRequest() { FirstName = Request.Form["txtFirstName"], LastName = Request.Form["txtLastName"], Degree = Request.Form["txtDegree"], Email = Request.Form["txtEmail"], Phone = Request.Form["txtPhone"], Department = Request.Form["txtDept"], InvestStatus = Request.Form["ddlPIStatus"], ProjectTitle = Request.Form["txtProjectTitle"], ProjectSummary = Request.Form["txtProjectSummary"], DueDate = DateTime.TryParse(txtDueDate.Text, out dt) ? dt : (DateTime?)null, PreferBiostat = Request.Form["txtPreferBiostat"], StudyArea = string.Join("; ", GetCheckedValue(tblStudyArea)), ServiceType = string.Join("; ", GetCheckedValue(tblServiceType)), Creator = Request.UserHostAddress.ToString(), CreationDate = DateTime.Now, RequestStatus = "Created", ProjectId = -1 }; try { using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { db.ClientRequest.Add(rqst); db.SaveChanges(); requestId = rqst.Id; } } catch (Exception ex) { throw ex; } return(requestId); }
/// <summary> /// Loads the list of QHS faculty/staff on the table grid. /// </summary> private void BindGrid() { using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { /// Loads list of QHS faculty/staff there is at least 1 PI in the system. /// Otherwise, a blank table is provided. if (context.Invests.Count() > 0) { var query = context.BioStats .Where(d => d.Id != 99) .OrderBy(d => d.Id); GridView1.DataSource = query.ToList(); /// Populates "User Rights" checkbox grid in Admin/StaffForm page. var qUserRights = context.AspNetRoles.OrderBy(x => ((x.Name == "Super") ? 1 : ((x.Name == "Admin") ? 2 : ((x.Name == "Biostat") ? 3 : 4)))).ToList(); GridView1.DataBind(); } else { var obj = new List <Invests>(); obj.Add(new Invests()); // Bind the DataTable which contain a blank row to the GridView GridView1.DataSource = obj; GridView1.DataBind(); int columnsCount = GridView1.Columns.Count; GridView1.Rows[0].Cells.Clear(); // clear all the cells in the row GridView1.Rows[0].Cells.Add(new TableCell()); //add a new blank cell GridView1.Rows[0].Cells[0].ColumnSpan = columnsCount; //set the column span to the new added cell //You can set the styles here GridView1.Rows[0].Cells[0].HorizontalAlign = HorizontalAlign.Center; GridView1.Rows[0].Cells[0].ForeColor = System.Drawing.Color.Red; GridView1.Rows[0].Cells[0].Font.Bold = true; //set No Results found to the new added cell GridView1.Rows[0].Cells[0].Text = "NO RESULT FOUND!"; } } }
/// <summary> /// Pre-loads dropdown list based on what the type of reports there are for the Ola Hawaii Summary reports. /// Uses Rmatrix Summary drop downs as they are the same for Ola Hawaii reports. /// </summary> private void BindControl() { using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { IDictionary <int, string> dropDownSource = new Dictionary <int, string>(); //11 RmatrixSummary Projects //12 RmatrixSummary HealthcareData //13 RmatrixSummary NonUH //14 RmatrixSummary Publications //15 RmatrixSummary AbstractsPresentations //16 RmatrixSummary Academic dropDownSource = context.BiostatReports .Where(b => b.ReportType == "RmatrixSummary") .OrderBy(b => b.Id) .ToDictionary(c => c.Id, c => c.ReportName); PageUtility.BindDropDownList(ddlReport, dropDownSource, "--- Select Report ---"); } }
private void BindRptNewInvoice(int invoiceId) { if (invoiceId > 0) { using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { var invoice = db.Invoice1Set.FirstOrDefault(n => n.Id == invoiceId); if (invoice != null) { var query = db.P_INVOICE_HOURS(invoice.CollabCtrId, invoice.Id, invoice.StartDate, invoice.EndDate, false); db.SaveChanges(); rptNewInvoice.DataSource = query; rptNewInvoice.DataBind(); } } } }
public List<Project> GetAllProjects() { var projects = new List<Project>(); using (ProjectTrackerContainer container = new ProjectTrackerContainer()) { var proj = container.dProjects.Select(x => x); projects = (from p in proj select new Project() { DueDate = p.DueDate, Priority = p.Priority, Title = p.Title, StartDate = p.StartDate, Status = p.Status, ID = p.Id }).ToList(); } return projects; }
public Project GetProject(int ID) { var proj = new Project(); using (ProjectTrackerContainer container = new ProjectTrackerContainer()) { var dProj = container.dProjects.Find(ID); if (dProj == null) return null; proj = new Project() { Title = dProj.Title, DueDate = dProj.DueDate, Priority = dProj.Priority, Status = dProj.Status, StartDate = dProj.StartDate, ID = dProj.Id, }; } return proj; }
public int UpdateProject(Project p) { using (ProjectTrackerContainer container = new ProjectTrackerContainer()) { var proj = container.dProjects.Find(p.ID); if (proj == null) return -1; proj.Title = p.Title; // proj.DueDate = p.DueDate; proj.StartDate = p.StartDate; proj.Status = p.Status; proj.Priority = p.Priority; container.SaveChanges(); return container.dProjects.Where(x => x.Id == p.ID).Select(x => x.Id).SingleOrDefault(); } }
private void BindControl() { IDictionary <int, string> dropDownSource = new Dictionary <int, string>(); int ccid = 0; using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { //dropDownSource = db.BioStats // //.Where(b => b.EndDate > DateTime.Now) // .OrderByDescending(b => b.Id) // .ToDictionary(c => c.Id, c => c.Name); //PageUtility.BindDropDownList(ddlBiostatHdn, dropDownSource, "- Select -"); Int32.TryParse(Request.QueryString["CCId"], out ccid); txtCCId.Value = ccid.ToString(); //dropDownSource = db.ClientAgmt // .Where(a => a.CollabCtr.Id == ccid) // .ToDictionary(c => c.Id, c => c.CollabCtr.NameAbbrv + "-" + c.Id); //PageUtility.BindDropDownList(ddlAgreementHdn, dropDownSource, "--- Select ---"); dropDownSource = db.CollabCtr .OrderBy(c => c.Id) .Where(c => c.Id > 0) .Select(x => new { x.Id, FullName = (x.NameAbbrv + " | " + x.Name) }) .ToDictionary(c => c.Id, c => c.FullName); PageUtility.BindDropDownList(ddlCollab, dropDownSource, string.Empty); } //BindgvInvoiceItem(-1); BindRptInvoice(); //if (ccid > 0) // BindRptNewInvoice(ccid); }
internal void SaveGrantBiostat(int grantId, List <GrantBiostat> lstBiostat) { using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { //var grantBiostats = db.GrantBiostats.Where(b => b.GrantId == grantId); //List<int> lstNewBiostat = new List<int>(); foreach (var biostat in lstBiostat) { var biostatDB = db.GrantBiostats.FirstOrDefault(g => g.Id == biostat.Id); //(g => g.GrantId == biostat.GrantId && g.BiostatId == biostat.BiostatId); if (biostatDB != null) { biostatDB.Pct = biostat.Pct; biostatDB.Fee = biostat.Fee; biostatDB.Year = biostat.Year; biostatDB.Note = biostat.Note; } else { db.GrantBiostats.Add(biostat); } //lstNewBiostat.Add(biostat.BiostatId); } //foreach (var grantBiostat in grantBiostats.ToList()) //{ // if (lstNewBiostat.IndexOf(grantBiostat.BiostatId) == -1) // { // db.GrantBiostats.Remove(grantBiostat); // } //} db.SaveChanges(); } }
/// <summary> /// Obtains the RMATRIX report table from the database with the dates specified. /// </summary> /// <returns>Table of project to report monthly to RMATRIX (Ms. Grace Matsuura, GDO Data Coordinator).</returns> private DataTable GetRmatrixTable() { DateTime fromDate, toDate; DataTable dt = new DataTable("RMATRIX"); //int year = reportDate.Year; //int month = reportDate.Month; //var firstDay = new DateTime(year, month, 1); //var lastDay = new DateTime(year, month, DateTime.DaysInMonth(year, month)); if (DateTime.TryParse(txtFromDate.Text, out fromDate) && DateTime.TryParse(txtToDate.Text, out toDate)) { using (ProjectTrackerContainer dbContext = new ProjectTrackerContainer()) { var query = dbContext.vwProject .Where(p => p.ReportDate >= fromDate && p.ReportDate <= toDate ); if (chkRmatrix.Checked) { query = query.Where(p => (bool)p.IsRmatrix); } else { query = query.Where(p => !(bool)p.IsRmatrix && !(bool)p.NotReportRmatrix && (int)p.IsInternal == 0 && p.IsPilot == "N" ); } dt = PageUtility.ToDataTable(query.ToList()); hdnRowCount.Value = query.Count().ToString(); } } return(dt); }
private DataTable GetSurveyAll() { DataTable dt = new DataTable("surveyTable"); dt.Columns.Add("ProjectId", System.Type.GetType("System.Int32")); dt.Columns.Add("ProjectTitle", System.Type.GetType("System.String")); dt.Columns.Add("SendTo", System.Type.GetType("System.String")); dt.Columns.Add("Responded", System.Type.GetType("System.String")); dt.Columns.Add("RespondDate", System.Type.GetType("System.String")); dt.Columns.Add("Id", System.Type.GetType("System.String")); dt.Columns.Add("SendDate", System.Type.GetType("System.String")); using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { var query = db.SurveyForms .Select(t => new { t.Id, t.ProjectId, t.ProjectTitle, t.SendTo, t.Responded, t.RespondDate, t.RequestDate }) .OrderByDescending(t => t.RequestDate); foreach (var p in query.ToList()) { DataRow row = dt.NewRow(); row[0] = p.ProjectId; row[1] = p.ProjectTitle; row[2] = p.SendTo; row[3] = p.Responded ? "Yes" : "No"; row[4] = p.RespondDate != null?Convert.ToDateTime(p.RespondDate).ToShortDateString() : ""; row[5] = p.Id; row[6] = p.RequestDate != null?Convert.ToDateTime(p.RequestDate).ToShortDateString() : ""; dt.Rows.Add(row); } } return(dt); }
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (Page.User.IsInRole("Super")) { if (e.CommandName == "InsertNew") { GridViewRow row = GridView1.FooterRow; TextBox txtName = row.FindControl("txtNameNew") as TextBox; TextBox txtType = row.FindControl("txtTypeNew") as TextBox; TextBox txtEmail = row.FindControl("txtEmailNew") as TextBox; TextBox txtLogonId = row.FindControl("txtLogonIdNew") as TextBox; TextBox txtEndDate = row.FindControl("txtEndDateNew") as TextBox; if (txtName != null && txtEmail != null && txtLogonId != null) { using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { BioStat biostat = new BioStat() { Name = txtName.Text, Type = txtType.Text, Email = txtEmail.Text, LogonId = txtLogonId.Text, EndDate = DateTime.Parse(txtEndDate.Text) }; context.BioStats.Add(biostat); WriteInvest(context, biostat); BindGrid(); } } } } }
private int SaveCC(CollabCtr cc) { int ccid = -1; try { using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { if (cc.Id > 0) //update { var prevCC = db.CollabCtr.FirstOrDefault(c => c.Id == cc.Id); if (prevCC != null) { db.Entry(prevCC).CurrentValues.SetValues(cc); } } else //new { db.CollabCtr.Add(cc); } db.SaveChanges(); ccid = cc.Id; } } catch (Exception ex) { throw ex; } finally { // } return(ccid); }
//// GET api/<controller>/5 //public string Get(int id) //{ // return "value"; //} // GET api/<controller>/5/d/d public List <decimal> GetProjectHours(int projectId, string startDate, string endDate) { List <decimal> projectHours = new List <decimal>(); DateTime dateStart, dateEnd; if (DateTime.TryParse(startDate, out dateStart) && (DateTime.TryParse(endDate, out dateEnd))) { if (dateEnd > dateStart && projectId > 0) { decimal workedPhd = 0.0M, workedMS = 0.0M; using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { ObjectParameter phdHours = new ObjectParameter("PhdHours", typeof(decimal)); ObjectParameter msHours = new ObjectParameter("MSHours", typeof(decimal)); //phdHours.Value = 0.0M; //msHours.Value = 0.0M; var i = context.P_PROJECT_HOURS(dateStart, dateEnd, projectId, phdHours, msHours); context.SaveChanges(); Decimal.TryParse(phdHours.Value.ToString(), out workedPhd); Decimal.TryParse(msHours.Value.ToString(), out workedMS); projectHours.Add(workedPhd); projectHours.Add(workedMS); } } } else { projectHours.Add(0.0m); projectHours.Add(0.0m); } return(projectHours); }
/// <summary> /// (CURRENTLY NOT BEING USED.) Saves Academic Entry /// </summary> /// <param name="academicTypeeId"></param> /// <param name="biostatBitSum"></param> private void SaveAcademic(int academicTypeId, int biostatBitSum) { Academic newAca = new Academic() { AcademicTypeId = academicTypeId, BiostatBitSum = biostatBitSum, Title = "", Organization = "", Audience = "", Comments = txtComments.Value, Creator = Page.User.Identity.Name, CreationDate = DateTime.Now }; DateTime dt1, dt2; int intOutput; switch (academicTypeId) { case 1: newAca.Organization = txtOrganization.Value; newAca.Title = txtTitle.Value; newAca.Audience = txtAudience.Value; newAca.StartDate = DateTime.TryParse(txtStartDate.Text, out dt1) ? dt1 : (DateTime?)null; newAca.EndDate = DateTime.TryParse(txtEndDate.Text, out dt2) ? dt2 : (DateTime?)null; newAca.NumOfAttendees = Int32.TryParse(txtNumOfAttendees.Value, out intOutput) ? intOutput : (Int32?)null; newAca.CourseNum = txtCourseNum.Value; break; } using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { db.Academic.Add(newAca); db.SaveChanges(); } }
private DataTable GetClientRqstAll() { DataTable dt = new DataTable("clientRqstTable"); dt.Columns.Add("Id", System.Type.GetType("System.Int32")); dt.Columns.Add("FirstName", System.Type.GetType("System.String")); dt.Columns.Add("LastName", System.Type.GetType("System.String")); dt.Columns.Add("ProjectTitle", System.Type.GetType("System.String")); dt.Columns.Add("CreateDate", System.Type.GetType("System.String")); dt.Columns.Add("Status", System.Type.GetType("System.String")); using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { var query = db.ClientRequest .Select(t => new { t.Id, t.FirstName, t.LastName, t.ProjectTitle, t.CreationDate, t.RequestStatus }) .OrderByDescending(t => t.Id); foreach (var p in query.OrderByDescending(p => p.Id).ToList()) { DataRow row = dt.NewRow(); row[0] = p.Id; row[1] = p.FirstName; row[2] = p.LastName; row[3] = p.ProjectTitle; row[4] = p.CreationDate != null?Convert.ToDateTime(p.CreationDate).ToShortDateString() : ""; row[5] = p.RequestStatus; dt.Rows.Add(row); } } return(dt); }
private void BindSurvey(string surveyId) { SurveyForm survey = null; List <KeyValuePair <int, int> > questionAnswers = new List <KeyValuePair <int, int> >(); using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { var questions = db.SurveyQuestions .OrderBy(q => q.OrderId) .Select(s => new { s.Id, s.Question }) .ToList(); gvQuestion.DataSource = questions; gvQuestion.DataBind(); var surveyDb = db.SurveyForms.FirstOrDefault(s => s.Id == surveyId); survey = surveyDb; var surveyAnswers = db.SurveyFormAnswers .Where(s => s.FormId == surveyId) .Select(s => new { s.QuestionId, s.OptionId }); foreach (var sa in surveyAnswers) { questionAnswers.Add(new KeyValuePair <int, int>(sa.QuestionId, sa.OptionId)); } } if (survey != null && survey.Responded) { if (questionAnswers.Count > 0) { foreach (GridViewRow row in gvQuestion.Rows) { Label lblId = row.FindControl("lblId") as Label; int questionId = 0; Int32.TryParse(lblId.Text, out questionId); if (questionId > 0) { for (int i = 1; i < 9; i++) { string chkName = "chk" + i.ToString(); CheckBox chkBox = (row.FindControl(chkName) as CheckBox); if (questionAnswers.Contains(new KeyValuePair <int, int>(questionId, i))) { chkBox.Checked = true; continue; } } } } } txtComments.Text = survey.Comment; StringBuilder script = new StringBuilder(); if (survey.Recommend != null) { script.Append("<script>"); if ((bool)survey.Recommend) { script.Append("if (!document.getElementById('option1').checked){document.getElementById('option1').checked=true;} "); } else { script.Append("if (!document.getElementById('option2').checked){document.getElementById('option2').checked=true;} "); } script.Append("</script>"); ClientScript.RegisterStartupScript(GetType(), "Javascript", script.ToString()); } //DisableUI(); } }
private bool SaveSurvey(SurveyForm survey, ProjectTrackerContainer db) { bool saved = false; var questionAnswers = new List <KeyValuePair <int, int> >(); foreach (GridViewRow row in gvQuestion.Rows) { Label lblId = row.FindControl("lblId") as Label; int questionId = 0; Int32.TryParse(lblId.Text, out questionId); if (questionId > 0) { for (int i = 1; i < 9; i++) { string chkName = "chk" + i.ToString(); CheckBox chkBox = (row.FindControl(chkName) as CheckBox); if (chkBox.Checked) { questionAnswers.Add(new KeyValuePair <int, int>(questionId, i)); continue; } } } } foreach (var qOption in questionAnswers) { SurveyFormAnswer fa = new SurveyFormAnswer() { FormId = survey.Id, QuestionId = qOption.Key, OptionId = qOption.Value }; db.SurveyFormAnswers.Add(fa); } string recommend = "No"; if (Request.Form["options"] != null) { recommend = Request.Form["options"].ToString(); } survey.Recommend = recommend == "Yes" ? true : false; survey.Comment = txtComments.Text.Length > 500 ? txtComments.Text.Substring(0, 500) : txtComments.Text; survey.Responded = true; survey.RespondDate = DateTime.Now; try { db.SaveChanges(); saved = true; } catch (Exception ex) { throw new Exception("An Error Has Occurred. " + ex.Message); } return(saved); }
protected void ddlBiostat_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = (DropDownList)sender; int biostatId = 0; Int32.TryParse(ddl.SelectedValue, out biostatId); if (biostatId > 0) { GridViewRow row = (GridViewRow)ddl.Parent.Parent; if (row != null) { DropDownList ddlAgreement = row.FindControl("ddlAgreement") as DropDownList; int agmtId = 0; Int32.TryParse(ddlAgreement.SelectedValue, out agmtId); DateTime dtStart, dtEnd = Convert.ToDateTime("2099-01-01"); bool validateDate = DateTime.TryParse(txtStartDate.Text, out dtStart) && DateTime.TryParse(txtEndDate.Text, out dtEnd); if (agmtId > 0 && validateDate) { TextBox txtRate = row.FindControl("txtRate") as TextBox; TextBox txtCompletedHours = row.FindControl("txtCompletedHours") as TextBox; using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { var agmt = db.ClientAgmt.FirstOrDefault(t => t.Id == agmtId); var biostat = db.BioStats.FirstOrDefault(b => b.Id == biostatId); if (agmt != null) { txtRate.Text = biostat.Type == "phd" ? agmt.ApprovedPhdRate.ToString() : agmt.ApprovedMsRate.ToString(); string query = string.Format(@"SELECT SUM(t.Duration) FROM TimeEntries t INNER JOIN Date d ON d.DateKey = t.DateId INNER JOIN ProjectPhase p ON t.ProjectId = p.ProjectId AND t.PhaseId = p.Id WHERE t.ProjectId = {0} and t.BioStatId = {1} and p.Name = '{2}' and d.[Date] BETWEEN '{3}' AND '{4}'" , agmt.Project2Id , biostatId , agmt.ProjectPhase , dtStart.ToShortDateString() , dtEnd.ToShortDateString() ); var totalHours = db.Database.SqlQuery <decimal?>(query); if (totalHours.FirstOrDefault() != null) { txtCompletedHours.Text = totalHours.FirstOrDefault().ToString(); } } } } } } }
/// <summary> /// Loads Collaborative Center form given id. /// </summary> /// <param name="id">Referred collab center id.</param> private void LoadCCForm(int id) { collabCtrProjSxn.Visible = true; collabCtrClientAgmtSxn.Visible = true; var dropDownSource = new Dictionary <int, string>(); var dropDownSourcewString = new Dictionary <string, string>(); /// Populates dropdowns of projects and client agreements associated with the collaboration center. using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { /// List of Collab Centers dropDownSource = db.CollabCtr .OrderBy(c => c.NameAbbrv) .Where(c => c.Id > 0) .Select(x => new { x.Id, FullName = (x.NameAbbrv + " | " + x.Name) }) .ToDictionary(c => c.Id, c => c.FullName); PageUtility.BindDropDownList(ddlCollab, dropDownSource, string.Empty); /// Pulls list of projects associated with collaborative center OR /// if collaborative center is SONDH, pulls the projects with /// "MOU" listed as the grant payment. dropDownSource = db.Project2 .GroupJoin( db.JabsomAffils, p => p.GrantDepartmentFundingType, ja => ja.Id, (p, ja) => new { p, ja }) .Where(y => y.p.ClientAgmt.FirstOrDefault().CollabCtrId == id || (id == 116 && y.ja.FirstOrDefault().Name == "School of Nursing & Dental Hygiene") && (y.p.IsMOU == 1 || y.p.GrantOther.Contains("MOU") || (y.p.AknOther.Contains("MOU")))) .OrderByDescending(y => y.p.Id) .Select(x => new { x.p.Id, FullName = (x.p.Id + " " + x.p.Title).Substring(0, 150) }) .Distinct() .ToDictionary(d => d.Id, d => d.FullName); PageUtility.BindDropDownList(ddlCollabCtrProjects, dropDownSource, "-- List of Projects for Collaborative Center --"); /// Pulls list of Client Agreements associated with collaborative center. dropDownSourcewString = db.ClientAgmt .Join(db.CollabCtr, ca => ca.CollabCtrId, cct => cct.Id, (ca, cct) => new { ca, cct }) .Where(z => z.ca.CollabCtrId == id) .OrderByDescending(y => y.ca.Id) .Select(x => new { /*x.ca.Id*/ x.ca.AgmtId, FullName = (x.ca.Id + " - " + x.ca.AgmtId + " - " + x.ca.ProjectPhase + " - Project ID " + x.ca.Project2Id).Substring(0, 150) }) .Distinct() .ToDictionary(d => d.AgmtId, d => d.FullName); PageUtility.BindDropDownList(ddlCollabCtrClientAgmts, dropDownSourcewString, "-- List of Client Agreements for Collaborative Center --"); } CollabCtr cc = GetCollabCtrById(id); if (cc != null) { SetCollabCtr(cc); if (cc.Id > 0) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ModalScript", PageUtility.LoadEditScript(true), false); } } }
/// <summary> /// Allows row to be edited upon clicking edit button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; //------------------------------------ using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { /// Populates "User Rights" checkbox grid in Admin/StaffForm page. var qUserRights = context.AspNetRoles.OrderBy(x => ((x.Name == "Super") ? 1 : ((x.Name == "Admin") ? 2 : ((x.Name == "Biostat") ? 3 : 4)))).ToList(); Repeater rptUserRights = (Repeater)GridView1.Rows[e.NewEditIndex].FindControl("rptUserRights"); if (rptUserRights != null) { rptUserRights.DataSource = qUserRights; rptUserRights.DataBind(); Label lblUserName = (Label)GridView1.Rows[e.NewEditIndex].FindControl("lblLogonId"); string userName = lblUserName.Text; // Check if Biostat is registered user. var listRgstdUsers = context.AspNetUsers.Select(x => x.UserName).ToList(); bool isBiostatRegistered = false; isBiostatRegistered = (listRgstdUsers.Where(x => x.Contains(userName)).FirstOrDefault() != null) ? true : false; List <IEnumerable <string> > qRightsOfCurrUser = null; if (isBiostatRegistered == true) { // Obtains list of user roles for row QHS faculty/staff. qRightsOfCurrUser = context.AspNetUsers .Where(x => x.UserName == userName) .Select(y => y.AspNetRoles.Select(z => z.Name)).ToList(); //Make appropriate user rights checked. foreach (RepeaterItem item in rptUserRights.Items) { CheckBox checkbox = item.FindControl("chkId") as CheckBox; if (checkbox != null) { // Checks checkbox if the current checkbox exist in rights of current user. var currRights = checkbox.Text; bool doesBiostathaveRights = (currRights != null && qRightsOfCurrUser.Where(x => x.Contains(currRights)).FirstOrDefault() != null) ? true : false; if (qRightsOfCurrUser.Count > 0 && doesBiostathaveRights == true) { checkbox.Checked = true; } } } } } } //------------------------------------ BindGrid(); }
/// <summary> /// Pulls the grant table based on whether or not a principal investigator, /// QHS staff, fund status, or internal/external dropdown value was specified. /// </summary> /// <param name="piId">Referred Principal Investigator.</param> /// <param name="biostatId">Referred QHS Faculty/Staff.</param> /// <param name="fundStatusId">Fund status (unknown, funded, not funded, pending).</param> /// <param name="exinternal">Specify whether grant is internal or external.</param> /// <returns></returns> internal DataTable GetGrantAll(int piId, int biostatId, int fundStatusId, int exinternal) { DataTable dt = new DataTable("grantTable"); dt.Columns.Add("Id", System.Type.GetType("System.Int32")); dt.Columns.Add("PI", System.Type.GetType("System.String")); dt.Columns.Add("ProjectId", System.Type.GetType("System.Int32")); dt.Columns.Add("Biostat", System.Type.GetType("System.String")); dt.Columns.Add("GrantTitle", System.Type.GetType("System.String")); dt.Columns.Add("GrantStatus", System.Type.GetType("System.String")); dt.Columns.Add("FundStatus", System.Type.GetType("System.String")); dt.Columns.Add("FundDate", System.Type.GetType("System.String")); dt.Columns.Add("InitDate", System.Type.GetType("System.String")); using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { //var pi, biostat, fundStatus; string piName = string.Empty, biostatName = string.Empty, fundStatusName = string.Empty; bool isInternal = false; var query = db.ViewGrants.Where(g => g.Id > 0); if (piId > 0) { var pi = db.Invests.FirstOrDefault(p => p.Id == piId); if (pi != null) { piName = pi.FirstName + ' ' + pi.LastName; query = query.Where(q => q.PI.Contains(piName)); } } if (biostatId > 0) { var biostat = db.BioStats.FirstOrDefault(b => b.Id == biostatId); if (biostat != null) { biostatName = biostat.Name; query = query.Where(q => q.Biostat.Contains(biostatName)); } } if (fundStatusId != 0) { var fundStatus = db.GrantFundStatus.FirstOrDefault(f => f.Id == fundStatusId); if (fundStatus != null) { fundStatusName = fundStatus.StatusValue; query = query.Where(q => q.FundStatus == fundStatusName); } } if (exinternal > 0) { isInternal = exinternal == 1 ? false : true; query = query.Where(q => q.IsInternal == isInternal); } foreach (var p in query.OrderByDescending(p => p.Id).ToList()) { DataRow row = dt.NewRow(); row["Id"] = p.Id; row["PI"] = p.PI; row["Biostat"] = p.Biostat; row["GrantTitle"] = p.GrantTitle; row["GrantStatus"] = p.GrantStatus; row["FundStatus"] = p.FundStatus; row["FundDate"] = p.FundDate; row["InitDate"] = p.InitDate; row["ProjectId"] = p.ProjectId; dt.Rows.Add(row); } } return(dt); }
/// <summary> /// Prepares row data (only need user rights checkboxes for now). /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { /// Populates "User Rights" checkbox grid in Admin/StaffForm page. var qUserRights = context.AspNetRoles.OrderBy(x => ((x.Name == "Super") ? 1 : ((x.Name == "Admin") ? 2 : ((x.Name == "Biostat") ? 3 : 4)))).ToList(); Repeater rptUserRights = (Repeater)e.Row.FindControl("rptUserRights"); if (e.Row.RowType == DataControlRowType.DataRow && rptUserRights != null) { rptUserRights.DataSource = qUserRights; rptUserRights.DataBind(); Label lblUserName = (Label)e.Row.FindControl("lblLogonId"); TextBox txtUserName = (TextBox)e.Row.FindControl("txtLogonId"); string userName = lblUserName != null ? lblUserName.Text : txtUserName != null ? txtUserName.Text : ""; // Check if Biostat is registered user. var listRgstdUsers = context.AspNetUsers.Select(x => x.UserName).ToList(); bool isBiostatRegistered = false; if (userName != "") { isBiostatRegistered = (listRgstdUsers.Where(x => x.Contains(userName)).FirstOrDefault() != null) ? true : false; List <IEnumerable <string> > qRightsOfCurrUser = null; if (isBiostatRegistered == true) { // Obtains list of user roles for row QHS faculty/staff. qRightsOfCurrUser = context.AspNetUsers .Where(x => x.UserName == userName) .Select(y => y.AspNetRoles.Select(z => z.Name)).ToList(); // Make appropriate user rights checked. foreach (RepeaterItem item in rptUserRights.Items) { CheckBox checkbox = item.FindControl("chkId") as CheckBox; if (checkbox != null) { // Disables checkbox in intial page load. // checkbox.Enabled = false; (now handled on front end) // Checks checkbox if the current checkbox exist in rights of current user. var currRights = checkbox.Text; bool doesBiostathaveRights = (currRights != null && qRightsOfCurrUser.Where(x => x.Contains(currRights)).FirstOrDefault() != null) ? true : false; if (qRightsOfCurrUser.Count > 0 && doesBiostathaveRights == true) { checkbox.Checked = true; } } } } else { // Hides checkboxes if there is no registered account for the faculty/staff member. rptUserRights.Visible = false; } } else { e.Row.Cells[7].BackColor = Color.IndianRed; } } } }
protected void DownloadFile(object sender, EventArgs e) { //string filePath = (sender as LinkButton).CommandArgument; //Response.ContentType = ContentType; //Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath)); //Response.WriteFile(filePath); //Response.End(); int id = 0; string ccAbbrv = txtCCAbbrv.Value, agmtId = txtAgmtId.Value, strId = txtId.Value; //char[] delimiter = { '-', '_' }; //string txtId = agmtId.Split(delimiter)[1]; Int32.TryParse(strId, out id); if (id > 0) { DataTable fileTable = new DataTable(); fileTable.Columns.Add("FileName", System.Type.GetType("System.String")); fileTable.Columns.Add("FileUpload", typeof(byte[])); using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { var query = db.ClientAgmt .Where(c => c.Id == id) .Select(x => new { x.FileName, x.FileUpload }); if (query != null) { foreach (var item in query.ToList()) { DataRow dr = fileTable.NewRow(); dr[0] = item.FileName; dr[1] = item.FileUpload; fileTable.Rows.Add(dr); } } } if (fileTable.Rows.Count > 0) { DataRow row = fileTable.Rows[0]; string name = (string)row["FileName"]; //string contentType = (string)row["ContentType"]; Byte[] data = (Byte[])row["FileUpload"]; // Send the file to the browser //Response.AddHeader("Content-type", contentType); Response.AddHeader("Content-Disposition", "attachment; filename=" + name); Response.BinaryWrite(data); Response.Flush(); Response.End(); } } }
private DataTable CreateAgreementDataTable(bool isFromDb) { int collabId = 0; Int32.TryParse(ddlCollab.SelectedValue, out collabId); DataTable dt = new DataTable("tblClientAgmt"); if (isFromDb) { dt.Columns.Add("Id", System.Type.GetType("System.Int32")); } dt.Columns.Add("AgmtId", System.Type.GetType("System.String")); dt.Columns.Add("PIName", System.Type.GetType("System.String")); dt.Columns.Add("ProjectId", System.Type.GetType("System.Int32")); dt.Columns.Add("ProjectPhase", System.Type.GetType("System.String")); dt.Columns.Add("ProjectTitle", System.Type.GetType("System.String")); dt.Columns.Add("ClientRefNum", System.Type.GetType("System.String")); dt.Columns.Add("ApprovedPhdRate", System.Type.GetType("System.String")); dt.Columns.Add("ApprovedPhdHr", System.Type.GetType("System.String")); dt.Columns.Add("InvoicedPhdHr", System.Type.GetType("System.String")); dt.Columns.Add("RemainingPhdHr", System.Type.GetType("System.String")); dt.Columns.Add("ApprovedMsRate", System.Type.GetType("System.String")); dt.Columns.Add("ApprovedMsHr", System.Type.GetType("System.String")); dt.Columns.Add("InvoicedMsHr", System.Type.GetType("System.String")); dt.Columns.Add("RemainingMsHr", System.Type.GetType("System.String")); dt.Columns.Add("RequestDate", System.Type.GetType("System.String")); dt.Columns.Add("ApprovalDate", System.Type.GetType("System.String")); dt.Columns.Add("ClientApprovalDate", System.Type.GetType("System.String")); dt.Columns.Add("CompletionDate", System.Type.GetType("System.String")); //dt.Columns.Add("CollabCtr", System.Type.GetType("System.String")); //dt.Columns.Add("EndDate", System.Type.GetType("System.String")); //dt.Columns.Add("BillingSchedule", System.Type.GetType("System.String")); dt.Columns.Add("Status", System.Type.GetType("System.String")); if (isFromDb) { using (ProjectTrackerContainer db = new ProjectTrackerContainer()) { ////var query = db.ClientAgmt //// .Join(db.CollabCtr, a => a.CollabCtrId, c => c.Id, (a, c) => new {a, c.NameAbbrv}) //// .Join(db.Projects, ca => ca.a.ProjectId, p => p.Id, //// (ca, p) => new {ca, p.Title} //// ); //var qInvoice = from i in db.InvoiceItem2 // //join b in db.BioStats on i.BiostatId equals b.Id // select new { i.ClientAgmtId, i.StaffType, i.InvoiceHr} into s // group s by new { s.ClientAgmtId, s.StaffType } into g // select new // { // ClientAgmtId = g.Key.ClientAgmtId, // PhdInvoiceHr = g.Where(t => t.StaffType == "phd").Sum(t => t.InvoiceHr), // MsInvoiceHr = g.Where(t => t.StaffType != "phd").Sum(t => t.InvoiceHr) // }; //var query = from a in db.ClientAgmt // join i in qInvoice on a.Id equals i.ClientAgmtId // join p in db.Project2 on a.ProjectId equals p.Id // select new { a.Id, a.AgmtId, a.ProjectId, a.ProjectPhase, p.Title, a.ApprovedPhdHr, a.ApprovedMsHr, // PhdInvoiceHr = (i.PhdInvoiceHr == null ? 0 : i.PhdInvoiceHr), // MsInvoiceHr = (i.MsInvoiceHr == null ? 0 : i.MsInvoiceHr), // a.AgmtStatus, a.CollabCtrId }; var query = db.vwAgreement.Where(a => a.CollabCtrId > 0); //foreach (var q in query.OrderBy(a => a.ca.a.CollabCtr.NameAbbrv).ThenByDescending(a => a.ca.a.Id).ToList()) if (collabId > 0) { query = query.Where(c => c.CollabCtrId == collabId); } foreach (var q in query.Distinct().ToList()) { DataRow dr = dt.NewRow(); dr["Id"] = q.Id; dr["AgmtId"] = q.AgmtId; dr["PIName"] = q.PIName; dr["ProjectId"] = q.ProjectId; dr["ProjectPhase"] = q.ProjectPhase; dr["ProjectTitle"] = q.Title; dr["ClientRefNum"] = q.ClientRefNum; dr["ApprovedPhdRate"] = q.ApprovedPhdRate; dr["ApprovedPhdHr"] = q.ApprovedPhdHr; dr["InvoicedPhdHr"] = q.PhdInvoiceHr; dr["RemainingPhdHr"] = q.PhdRemaining; dr["ApprovedMsRate"] = q.ApprovedMsRate; dr["ApprovedMsHr"] = q.ApprovedMsHr; dr["InvoicedMsHr"] = q.MsInvoiceHr; dr["RemainingMsHr"] = q.MsRemaining; dr["RequestDate"] = q.RequestDate; dr["ApprovalDate"] = q.ApprovalDate; dr["ClientApprovalDate"] = q.ClientApprovalDate; dr["CompletionDate"] = q.CompletionDate; dr["Status"] = q.AgmtStatus; dt.Rows.Add(dr); } } } else { foreach (RepeaterItem item in rptClientAgmt.Items) { DataRow dr = dt.NewRow(); //dr["Id"] = ((Label)item.FindControl("lblId")).Text; dr["AgmtId"] = ((Label)item.FindControl("lblAgmtId")).Text; dr["PIName"] = ((Label)item.FindControl("lblPIName")).Text; dr["ProjectId"] = ((Label)item.FindControl("lblProjectId")).Text; dr["ProjectPhase"] = ((Label)item.FindControl("lblProjectPhase")).Text; dr["ProjectTitle"] = ((Label)item.FindControl("lblProjectTitle")).Text; dr["ClientRefNum"] = ((Label)item.FindControl("lblClientRefNum")).Text; dr["ApprovedPhdRate"] = ((Label)item.FindControl("lblApprovedPhdRate")).Text; dr["ApprovedPhdHr"] = ((Label)item.FindControl("lblApprovedPhdHr")).Text; dr["InvoicedPhdHr"] = ((Label)item.FindControl("lblInvoicedPhdHr")).Text; dr["RemainingPhdHr"] = ((Label)item.FindControl("lblRemainingPhdHr")).Text; dr["ApprovedMsRate"] = ((Label)item.FindControl("lblApprovedMsRate")).Text; dr["ApprovedMsHr"] = ((Label)item.FindControl("lblApprovedMsHr")).Text; dr["InvoicedMsHr"] = ((Label)item.FindControl("lblInvoicedMsHr")).Text; dr["RemainingMsHr"] = ((Label)item.FindControl("lblRemainingMsHr")).Text; dr["RequestDate"] = ((Label)item.FindControl("lblRequestDate")).Text; dr["ApprovalDate"] = ((Label)item.FindControl("lblApprovalDate")).Text; dr["ClientApprovalDate"] = ((Label)item.FindControl("lblClientApprovalDate")).Text; dr["CompletionDate"] = ((Label)item.FindControl("lblCompletionDate")).Text; dr["Status"] = ((Label)item.FindControl("lblStatus")).Text; dt.Rows.Add(dr); } if (hdnSortOrder.Text.Contains(",")) { var strSort = hdnSortOrder.Text.Split(','); var sortColumn = (AgreementExportEnum)Int32.Parse(strSort[0]); var sortOrder = strSort[1].ToUpper(); DataView dvData = new DataView(dt); dvData.Sort = sortColumn + " " + sortOrder; dt = dvData.ToTable(); } } return(dt); }
public ProjectTrackerRepository() { _dbContext = new ProjectTrackerContainer(); }
/// <summary> /// Prepares initial page load for use. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { using (ProjectTrackerContainer dbContext = new ProjectTrackerContainer()) { var dropDownSource = new Dictionary <int, string>(); var query = dbContext.BioStats.Where(b => b.Id > 0 && b.Id != 99); dropDownSource = query .Where(b => b.Type == "phd") .OrderByDescending(b => b.EndDate) .ThenBy(b => b.Name) .ToDictionary(b => b.Id, b => b.Name); PageUtility.BindDropDownList(ddlPhd, dropDownSource, " --- Select --- "); dropDownSource = query .Where(b => b.Type != "phd") .OrderByDescending(b => b.EndDate) .ThenBy(b => b.Name) .ToDictionary(b => b.Id, b => b.Name); PageUtility.BindDropDownList(ddlMs, dropDownSource, " --- Select --- "); dropDownSource = dbContext.InvestStatus .OrderBy(d => d.DisplayOrder) .ToDictionary(b => b.Id, b => b.StatusValue); PageUtility.BindDropDownList(ddlPIStatus, dropDownSource, " --- Select --- "); dropDownSource = dbContext.ProjectField .Where(g => g.GroupName == "HealthData") .OrderBy(d => d.DisplayOrder) .ToDictionary(b => b.BitValue, b => b.Name); PageUtility.BindDropDownList(ddlHealthData, dropDownSource, " --- Select --- "); dropDownSource = dbContext.ProjectField .Where(g => g.GroupName == "Grant") .OrderBy(d => d.DisplayOrder) .ToDictionary(b => b.BitValue, b => b.Name); PageUtility.BindDropDownList(ddlGrant, dropDownSource, " --- Select --- "); var affil = dbContext.JabsomAffils .Where(a => a.Type != "Other" && a.Type != "Degree" && a.Type != "Unknown" && a.Name != "Other") .OrderBy(a => a.Id) .Select(x => new { Id = x.Id, Name = x.Name }); textAreaAffil.Value = Newtonsoft.Json.JsonConvert.SerializeObject(affil); var piName = dbContext.Invests .Where(i => i.Id > 0) .Select(x => new { Id = x.Id, Name = x.FirstName + " " + x.LastName }); textAreaPI.Value = Newtonsoft.Json.JsonConvert.SerializeObject(piName); Dictionary <int, string> reportType = new Dictionary <int, string>(); /*reportType.Add(1, "Check-in Meeting Report");*/ PageUtility.BindDropDownList(ddlReportType, reportType, "Full Report"); } } }
/// <summary> /// Populates dropdown fields with corresponding selections. /// </summary> private void BindControl() { using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { IDictionary <int, string> dropDownSource = new Dictionary <int, string>(); //ddlBioStat //if (Page.User.IsInRole("Admin")) //{ // dropDownSource = context.BioStats // .OrderBy(b => b.Name) // .ToDictionary(c => c.Id, c => c.Name); // PageUtility.BindDropDownList(ddlBiostat, dropDownSource, "--- Select All ---"); //} //else //{ // var biostat = context.BioStats.FirstOrDefault(b => b.LogonId == Page.User.Identity.Name); // if (biostat != null) // { // dropDownSource.Add(biostat.Id, biostat.Name); // PageUtility.BindDropDownList(ddlBiostat, dropDownSource, null); // } //} dropDownSource = context.BioStats .Where(b => b.Name != "N/A" && b.Name != "Unknown") .OrderByDescending(b => b.EndDate) .ThenBy(b => b.Name) .ToDictionary(c => c.Id, c => c.Name); PageUtility.BindDropDownList(ddlBiostat, dropDownSource, "--- Select All ---"); dropDownSource = context.BioStats //.Where(b => b.EndDate > currentDate) .OrderBy(b => b.Name) .ToDictionary(c => c.Id, c => c.Name); //PageUtility.BindDropDownList(ddlBiostat, dropDownSource, "--- Select All ---"); PageUtility.BindDropDownList(ddlMember, dropDownSource, "--- Select All ---"); dropDownSource = context.BiostatReports .Where(b => b.ReportType == "TimeEntry") .OrderBy(b => b.Id) .ToDictionary(c => c.Id, c => c.ReportName); PageUtility.BindDropDownList(ddlReport, dropDownSource, "--- Select Report ---"); int biostatId; Int32.TryParse(ddlBiostat.SelectedValue, out biostatId); if (biostatId > 0) { dropDownSource = context.ProjectBioStats .Where(p => p.BioStats_Id == biostatId) .OrderByDescending(d => d.Project.Id) .Select(x => new { x.Project.Id, FullName = (x.Project.Id + " " + x.Project.Title).Substring(0, 99) }) .Distinct() .ToDictionary(c => c.Id, c => c.FullName); } else { dropDownSource = context.Project2 .Where(p => p.Id > 0) .OrderByDescending(d => d.Id) .Select(x => new { x.Id, FullName = (x.Id + " " + x.Title).Substring(0, 99) }) .ToDictionary(c => c.Id, c => c.FullName); } PageUtility.BindDropDownList(ddlProject, dropDownSource, "--- Select All ---"); dropDownSource = context.PublishStatus .Where(p => p.Id > 0) .OrderBy(d => d.Id) .ToDictionary(c => c.Id, c => c.Name); PageUtility.BindDropDownList(ddlPaperStatus, dropDownSource, string.Empty); /*Added "Funding Source" dropdown*/ dropDownSource = context.ProjectField .Where(p => p.IsFundingSource == true) .ToDictionary(c => c.Id, c => c.Name); PageUtility.BindDropDownList(ddlFundingSource, dropDownSource, string.Empty); dropDownSource.Clear(); dropDownSource.Add(new KeyValuePair <int, string>(1, "Small")); dropDownSource.Add(new KeyValuePair <int, string>(2, "Large")); PageUtility.BindDropDownList(ddlServiceType, dropDownSource, "--- Select All ---"); dropDownSource.Clear(); for (int i = 1; i <= 10; i++) { dropDownSource.Add(new KeyValuePair <int, string>(i, i.ToString())); } PageUtility.BindDropDownList(ddlThreshold, dropDownSource, "default"); dropDownSource = context.JabsomAffils .Where(a => a.Type != "Other" && a.Type != "Degree" && a.Type != "Unknown" && a.Name != "Other") .OrderBy(a => a.Name) .ToDictionary(c => c.Id, c => c.Name); var affilsJson = dropDownSource.Select(x => new { Id = x.Key, Name = x.Value }); textAreaAffil.Value = Newtonsoft.Json.JsonConvert.SerializeObject(affilsJson); dropDownSource = context.AcademicField.Where(f => f.Category == "AcademicType").OrderBy(f => f.DisplayOrder).ToDictionary(c => c.Id, c => c.Name); PageUtility.BindDropDownList(ddlAcademicType, dropDownSource, string.Empty); } }
/// <summary> /// Upon updates the Biostat table in the database based on the /// values used in the tracking system. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { if (Page.User.IsInRole("Super")) { GridViewRow row = GridView1.Rows[e.RowIndex]; Label lblId = row.FindControl("lblId") as Label; TextBox txtName = row.FindControl("txtName") as TextBox; TextBox txtType = row.FindControl("txtType") as TextBox; TextBox txtEmail = row.FindControl("txtEmail") as TextBox; TextBox txtLogonId = row.FindControl("txtLogonId") as TextBox; TextBox txtEndDate = row.FindControl("txtEndDate") as TextBox; Repeater rptUserRights = row.FindControl("rptUserRights") as Repeater; if (txtName != null && txtLogonId != null && txtEmail != null) { using (ProjectTrackerContainer context = new ProjectTrackerContainer()) { int biostatId = Convert.ToInt32(lblId.Text); BioStat biostat = context.BioStats.First(x => x.Id == biostatId); biostat.Name = txtName.Text; biostat.Type = txtType.Text; biostat.Email = txtEmail.Text; biostat.LogonId = txtLogonId.Text; biostat.EndDate = DateTime.Parse(txtEndDate.Text); // Update the user privileges // (Replace or Add/Delete as necessary //var selectedRights = rptUserRights.check AspNetUser biostatUserAcct = context.AspNetUsers.FirstOrDefault(x => x.UserName == biostat.LogonId); if (biostatUserAcct != null) { var qRightsOfCurrUser = context.AspNetUsers .Where(x => x.UserName == txtLogonId.Text) .Select(y => y.AspNetRoles.Select(z => z.Name)).ToList(); // For each of the user rights (Super, Admin, Biostat, ...), // If there is a match in qRightsOfCurrentUser // If there is not already in database foreach (RepeaterItem item in rptUserRights.Items) { CheckBox checkbox = item.FindControl("chkId") as CheckBox; if (checkbox != null) { var currRights = checkbox.Text; bool markedRights = checkbox.Checked == true ? true : false; /*AspNetUser */ biostatUserAcct = context.AspNetUsers.First(x => x.UserName == biostat.LogonId); AspNetRole currAcctRole = context.AspNetRoles.First(x => x.Name == currRights); if (markedRights) { //Add Role if doesn't exist. if (biostatUserAcct.AspNetRoles.FirstOrDefault(x => x.Name == currRights) == null) { biostatUserAcct.AspNetRoles.Add(currAcctRole); } } else { // Delete Role if currently exists. if (biostatUserAcct.AspNetRoles.FirstOrDefault(x => x.Name == currRights) != null) { biostatUserAcct.AspNetRoles.Remove(currAcctRole); } } } } // Make appropriate user rights checked. foreach (RepeaterItem item in rptUserRights.Items) { CheckBox checkbox = item.FindControl("chkId") as CheckBox; if (checkbox != null) { // Checks checkbox if the current checkbox exist in rights of current user. var currRights = checkbox.Text; bool doesBiostathaveRights = (currRights != null && qRightsOfCurrUser.Where(x => x.Contains(currRights)).FirstOrDefault() != null) ? true : false; if (qRightsOfCurrUser.Count > 0 && doesBiostathaveRights == true) { checkbox.Checked = true; } } } /****/ } WriteInvest(context, biostat); GridView1.EditIndex = -1; BindGrid(); } } } }
/// <summary> /// Obtains the Ola HAWAII report table from the database with the dates specified. /// </summary> /// <returns>Table of project to submit monthly to Ola HAWAII (Jason Delos Reyes or Meliza Roman to import).</returns> private DataTable GetOlaHawaiiTable() { DateTime fromDate, toDate; DataTable dt = new DataTable("Ola_HAWAII"); if (DateTime.TryParse(txtFromDate.Text, out fromDate) && DateTime.TryParse(txtToDate.Text, out toDate)) { using (ProjectTrackerContainer dbContext = new ProjectTrackerContainer()) { //var query = dbContext.vwProject // .Where(p => p.ReportDate >= fromDate // && p.ReportDate <= toDate // && !(bool)p.IsOlaRequest // && !(bool)p.NotReportOla // && (int)p.IsInternal == 0 // && p.IsPilot == "N" // ); var query = dbContext.vwProject.Join(dbContext.Project2, p => p.id, p2 => p2.Id, (p, p2) => new { p, p2 }) .Where(pp2 => pp2.p.ReportDate >= fromDate && pp2.p.ReportDate <= toDate && !(bool)pp2.p.IsOlaRequest && !(bool)pp2.p.NotReportOla && (int)pp2.p.IsInternal == 0 /*&& pp2.p.IsPilot == "N"*/ && pp2.p.ProjectType == 1 && pp2.p2.IsPaid == true) .Select(x => new { x.p.id , x.p.InvestId , x.p.PIName , x.p.Title , x.p.Summary , x.p.GrantName , x.p.IsPilot , x.p.BiostatId , x.p.LeadBio , x.p.Member , x.p.ServiceCategory , x.p.StudyArea , x.p.StudyType , x.p.StudyPopulation , x.p.initialdate , x.p.ReportDate , x.p.anslysiscompletiondate , x.p.ProjectCompletionDate , x.p.IsInternal , x.p.Comments , x.p.NotReportRmatrix , x.p.IsRmatrix , x.p.NotReportOla , x.p.IsOlaRequest , x.p.HealthDateBitSum , x.p.GrantBitSum , x.p.LeadBiostatId , x.p.OtherMemberBitSum , x.p.ProjectType , x.p.CreditTo }); dt = PageUtility.ToDataTable(query.ToList()); hdnRowCount.Value = query.Count().ToString(); } } return(dt); }