Example #1
0
        /// <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));
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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);
        }