// The return type can be changed to IEnumerable, however to support // paging and sorting, the following parameters must be added: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable<bmi.imis.MABanker.Careers.Models.Posting> gvJobPostings_GetData() { var context = new CareersContext(); IQueryable<Posting> rtn = context.Postings; var dateAfterWhichListingsExpire = DateTime.Now.AddDays(-int.Parse(ConfigurationManager.AppSettings["DaysAfterWhichListingsExpire"])); if (IsStaffUser) { rtn = rtn.Where(p => p.PostDate >= dateAfterWhichListingsExpire || p.PostDate == null); } else { rtn = rtn.Where(p => p.PostDate >= dateAfterWhichListingsExpire && p.Approved == true); } if (ddlCategory.SelectedIndex != 0) { int category = int.Parse(ddlCategory.SelectedValue); rtn = rtn.Where(r => r.Category == category); } if (ddlState.SelectedIndex != 0) rtn = rtn.Where(r => r.State == ddlState.SelectedValue); if (tbKeyword.Text != string.Empty) { //TODO: Not efficient. Unable to find faster method rtn = rtn.Where(p => p.Description.Contains(tbKeyword.Text) || p.Comments.Contains(tbKeyword.Text) || p.City.Contains(tbKeyword.Text) || p.Company.Contains(tbKeyword.Text) || p.Title.Contains(tbKeyword.Text)); //.IndexOf(tbKeyword.Text, StringComparison.OrdinalIgnoreCase) != -1); } return rtn; }
// The id parameter name should match the DataKeyNames value set on the control public void gvJobPostings_DeleteItem(Posting posting) { using (var context = new CareersContext()) { context.Entry(posting).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); } }
public void fvCareerCategory_InsertItem(CareerCategory category) { var item = new bmi.imis.MABanker.Careers.Models.CareerCategory(); var context = new CareersContext(); context.Categories.Add(category); context.SaveChanges(); HttpContext.Current.Session["Categories"] = null; }
// The id parameter name should match the DataKeyNames value set on the control public void gvCareerCategories_UpdateItem(CareerCategory category) { using (var context = new CareersContext()) { context.Entry(category).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); HttpContext.Current.Session["Categories"] = null; } }
// The id parameter name should match the DataKeyNames value set on the control public void dgCareerCategories_DeleteItem(int Id) { using (var context = new CareersContext()) { var career = context.Categories.Where(c => c.Id == Id).Select(c => c).FirstOrDefault(); if (career != null) { context.Categories.Remove(career); context.SaveChanges(); HttpContext.Current.Session["Categories"] = null; } } gvCareerCategories.DataBind(); }
// The id parameter name should match the DataKeyNames value set on the control public void gvResumes_DeleteItem(int resumeID) { using (var context = new CareersContext()) { var resume = (from r in context.Resumes where r.ResumeID == resumeID select r).SingleOrDefault(); var resumeBinary = (from r in context.ResumeBinaries where r.ResumeID == resumeID select r).SingleOrDefault(); context.Entry(resumeBinary).State = System.Data.Entity.EntityState.Deleted; context.Entry(resume).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); } }
public static List<CareerCategory> GetCategories (HttpSessionStateBase session) { if (session["CareerCategories"] != null) { return (List<CareerCategory>)session["CareerCategories"]; } else { using (var context = new CareersContext()) { var rtn = context.Categories.ToList(); session["CareerCategories"] = rtn; return rtn; } } }
// The id parameter name should match the DataKeyNames value set on the control public void fvResume_UpdateItem(Resume resume) { var fileUploadResume = (FileUpload)fvResume.FindControl("fuResume"); using (var context = new CareersContext()) { Resume retrievedResume; retrievedResume = context.Resumes.Find(resume.ResumeID); ResumeBinary resumeBinary; if (resume.ResumeID != 0) { TryUpdateModel(retrievedResume); if (retrievedResume.ResumeBinary == null) { resumeBinary = new ResumeBinary(); retrievedResume.ResumeBinary = resumeBinary; } else resumeBinary = retrievedResume.ResumeBinary; } else { resume.ResumeBinary = new ResumeBinary(); resumeBinary = resume.ResumeBinary; } if (fileUploadResume.HasFile) { resumeBinary.ResumeBytes = fileUploadResume.FileBytes; resumeBinary.ContentType = fileUploadResume.PostedFile.ContentType; resumeBinary.FileName = System.IO.Path.GetFileName(fileUploadResume.PostedFile.FileName); } if (resume.ResumeID == 0) context.Entry(resume).State = System.Data.Entity.EntityState.Added; else context.Entry(retrievedResume).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } if (IsStaffUser) Response.Redirect(Request.Url.AbsolutePath + "?ResumeId=" + resume.ResumeID.ToString()); else { fvResume.Visible = false; pnlConfirmation.Visible = true; } }
// The id parameter should match the DataKeyNames value set on the control // or be decorated with a value provider attribute, e.g. [QueryString]int id public bmi.imis.MABanker.Careers.Models.Resume fvResume_GetItem([QueryString("ResumeId")] int? resumeId) { Resume rtn; if (resumeId == null) return new Resume(); using (var context = new CareersContext()) { context.Configuration.LazyLoadingEnabled = true; rtn = context.Resumes.Include(r => r.ResumeBinary).Where(r => r.ResumeID == resumeId ).FirstOrDefault(); if (rtn == null) return rtn; if (rtn.Category == null) rtn.Category = 0; else { var currentCategory = rtn.Category; if (context.Categories.Where(c => c.Id == currentCategory).Count() == 0) { rtn.Category = 0; } } } return rtn; }
public Posting GetPosting([QueryString("PostingId")]int? postingId) { Posting rtn; if ( ( (bool)(Session["ChangeToEditMode"] ?? false) || (bool)(Session["ChangeToViewMode"] ?? false))) { if ((bool)(Session["ChangeToViewMode"] ?? false) ) { fvJobPosting.ChangeMode(FormViewMode.ReadOnly); Session["ChangeToViewMode"] = false; } if ((bool)(Session["ChangeToEditMode"] ?? false)) Session["ChangeToEditMode"] = false; rtn = (Posting)Session["Posting"]; return rtn; } if (postingId == null) return new Posting(); using (var context = new CareersContext()) { rtn = (from p in context.Postings where p.JobID == postingId select p).SingleOrDefault(); if (rtn == null) return null; if (rtn.Category == null) { rtn.Category = 0; } else { var currentCategory = rtn.Category; if (context.Categories.Where(c => c.Id == currentCategory).Count() == 0) { rtn.Category = 0; } } } return rtn; }
// The return type can be changed to IEnumerable, however to support // paging and sorting, the following parameters must be added: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable<bmi.imis.MABanker.Careers.Models.Resume> gvResumes_GetData() { var context = new CareersContext(); IQueryable<Resume> rtn = context.Resumes; var dateAfterWhichListingsExpire = DateTime.Now.AddDays(-int.Parse(ConfigurationManager.AppSettings["DaysAfterWhichListingsExpire"])); rtn = rtn.Where(p => p.PostDate >= dateAfterWhichListingsExpire || p.PostDate == null); if (!IsStaffUser) rtn = rtn.Where(p => p.Approved == true); if (ddlCategory.SelectedIndex != 0) { int category = int.Parse(ddlCategory.SelectedValue); rtn = rtn.Where(r => r.Category == category); } if (ddlState.SelectedIndex != 0) rtn = rtn.Where(r => r.State == ddlState.SelectedValue); if (tbKeyword.Text != string.Empty) { //TODO: Not efficient. Unable to find faster method rtn = rtn.Where(p => p.ResumeText.ToLower() == tbKeyword.Text.ToLower() || p.City.ToLower() == tbKeyword.Text.ToLower()); } return rtn; }
protected void lnkDownload_Click(object sender, EventArgs e) { int id = int.Parse((sender as LinkButton).CommandArgument); byte[] resumeBytes; using (var context = new CareersContext()) { var resumeBinary = (from r in context.Resumes where r.ResumeID == id select r.ResumeBinary).FirstOrDefault(); Response.Clear(); Response.Buffer = true; Response.Charset = string.Empty; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = resumeBinary.ContentType; Response.AppendHeader("Content-Disposition", "attachment; filename=" + resumeBinary.FileName); resumeBytes = resumeBinary.ResumeBytes; } Response.BinaryWrite(resumeBytes); Response.Flush(); Response.End(); }
protected void btnFileDelete_Click(object sender, EventArgs e) { using (var context = new CareersContext()) { int id = int.Parse((sender as Button).CommandArgument); var resumeBinary = (from rb in context.ResumeBinaries where rb.ResumeID == id select rb).FirstOrDefault(); if (resumeBinary != null) { context.Entry(resumeBinary).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); ((FileUpload)fvResume.FindControl("fuResume")).Visible = true; ((LinkButton)fvResume.FindControl("lnkDownload")).Visible = false; ((Button)fvResume.FindControl("btnFileDelete")).Visible = false; } } }
// The return type can be changed to IEnumerable, however to support // paging and sorting, the following parameters must be added: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable<bmi.imis.MABanker.Careers.Models.CareerCategory> dgCareerCategories_GetData() { var context = new CareersContext(); return context.Categories; }
private void UpdatePosting(Posting posting) { using (var context = new CareersContext()) { if (posting.JobID == 0 && !IsStaffUser && PostingCredits <= 0) Response.Redirect(Request.Url.AbsoluteUri); bool decrementJobCredits = false; var postDateString = string.Empty; DateTime postDate; var postDateTextbox = (TextBox)fvJobPosting.FindControl("txtPostDate"); if (postDateTextbox.Text != null && DateTime.TryParse(postDateTextbox.Text, out postDate)) posting.PostDate = postDate; else posting.PostDate = null; if (posting.JobID == 0) { context.Entry(posting).State = System.Data.Entity.EntityState.Added; if (!IsStaffUser) decrementJobCredits = true; } else context.Entry(posting).State = System.Data.Entity.EntityState.Modified; if (posting.Approved == false) SendUnapprovedNotification(posting); context.SaveChanges(); if (decrementJobCredits) PostingCredits = PostingCredits - 1; } Response.Redirect(Request.Url.AbsolutePath + "?PostingId=" + posting.JobID.ToString()); }