/// <summary> /// CV Main Page /// </summary> /// <returns></returns> public ActionResult Index() { MemberState state = MemberStateBL.State; CvVO model = new CvVO(); try { if (state.IsLogin) { model = new CvBL().GetCvByMemberId(state.Member.Id); EducationCreateViewBag(); Task <List <EducationVO> > tEducations = Task.Run(() => new EducationBL().GetEducationsByMemberId(state.Member.Id)); Task.WaitAll(tEducations); model.Educations = tEducations.Result; // Initialize Path ViewBag.Path = true; Path path = new Path(); path.InsertMainItemToPath((byte)eMain.Cv); } else { return(RedirectToAction("Index", "Home")); } } catch (Exception ex) { TempData["UIMsg"] = new UIMessage(ex.Message, eUIMsgType.danger); } return(View(model)); }
/// <summary> /// Get Cv included member,person from memberId /// </summary> /// <param name="ctx">Application ctx</param> /// <param name="memberId">filter for take cv</param> /// <returns>CvVO</returns> public CvVO FindCvByMemberId(CvContext ctx, int memberId) { CvVO model = new CvVO(); try { var query = (from cv in ctx.Cv join member in ctx.Member on cv.MemberId equals member.Id join person in ctx.Person on member.PersonId equals person.Id where member.Id == memberId select new { cv.Id, cv.MemberId, member.Username, member.PersonId, person.BirthDate, person.FirstName_el, person.LastName_el, person.FirstName_en, person.LastName_en }).Single(); model.Id = FillItemForDatabase.FillItem(query.Id); model.MemberId = FillItemForDatabase.FillItem(query.MemberId); model.Member = new MemberVO() { Id = model.MemberId, Username = FillItemForDatabase.FillItem(query.Username), PersonId = FillItemForDatabase.FillItem(query.PersonId) }; model.Member.Person = new PersonVO() { Id = model.Member.PersonId, BirthDate = FillItemForDatabase.FillItem(query.BirthDate), FirstName_el = FillItemForDatabase.FillItem(query.FirstName_el), LastName_el = FillItemForDatabase.FillItem(query.LastName_el), FirstName_en = FillItemForDatabase.FillItem(query.FirstName_en), LastName_en = FillItemForDatabase.FillItem(query.LastName_en) }; } catch { throw; } return(model); }
public CvVO GetCvByMemberId(int memberId) { CvVO model = new CvVO(); try { using (var ctx = new CvContext()) { model = new CvDA().FindCvByMemberId(ctx, memberId); if (model.Id != 0 && model.Member != null && model.MemberId != 0 && model.Member.Person != null && model.Member.PersonId != 0) { Task <List <AddressVO> > addrTask; using (var ctxAddr = new AddressContext()) { addrTask = Task.Run(() => new AddressDA().FindAddressesByPersonId(ctxAddr, model.Member.PersonId)); using (var ctxEmail = new EmailContext()) { Task <List <EmailVO> > emailTask = Task.Run(() => new EmailDA().FindEmailsByPersonId(ctxEmail, model.Member.PersonId)); using (var ctxPhone = new PhoneContext()) { Task <List <PhoneVO> > phoneTask = Task.Run(() => new PhoneDA().FindPhonesByPersonId(ctxPhone, model.Member.PersonId)); Task.WhenAll(phoneTask, addrTask, emailTask); model.Member.Person.Addresses = addrTask.Result; model.Member.Person.Emails = emailTask.Result; model.Member.Person.Phones = phoneTask.Result; } } } } } } catch (Exception ex) { throw ex; } return(model); }