public PartnerDetailViewModel GetPartnerDetail(int PatientId, string UserId, bool isPharmixAdmin)
        {
            var result  = new PartnerDetailViewModel();
            var IsAdmin = false;

            if (IsAdminUser(UserId, isPharmixAdmin))
            {
                IsAdmin = true;
            }
            else
            {
                PatientId = _repository.GetContext().Patients.Where(p => p.UserId == UserId).Select(p => p.Id).FirstOrDefault();
            }

            var partnerDetail = _repository.GetContext().PartnerDetail.Include(p => p.Pregnancy).Where(p => p.Pregnancy.PatientId == PatientId).FirstOrDefault();

            if (partnerDetail == null)
            {
                result = new PartnerDetailViewModel();
            }
            else
            {
                result = Mapper.Map <PartnerDetailViewModel>(partnerDetail);
            }

            result.IsAdmin   = IsAdmin;
            result.PatientId = PatientId;

            return(result);
        }
        /// <summary>
        /// Get Current Logged in User Email Address.
        /// </summary>
        /// <returns> Current Logged User Email.</returns>
        public PartnerDetailViewModel GetCurrentUserDetail()
        {
            if (this.HttpContext != null && this.HttpContext.User.Identity.IsAuthenticated)
            {
                PartnerDetailViewModel partnerDetail = new PartnerDetailViewModel();
                partnerDetail.FullName     = this.CurrentUserName;
                partnerDetail.EmailAddress = this.CurrentUserEmailAddress;
                return(partnerDetail);
            }

            return(new PartnerDetailViewModel());
        }
        /// <summary>
        /// Get Current Logged in User Email Address.
        /// </summary>
        /// <returns> Current Logged User Email.</returns>
        public PartnerDetailViewModel GetCurrentUserDetail()
        {
            if (HttpContext?.User?.Identity?.IsAuthenticated == true)
            {
                PartnerDetailViewModel partnerDetail = new PartnerDetailViewModel();
                partnerDetail.FullName     = this.CurrentUserName;
                partnerDetail.EmailAddress = this.CurrentUserEmailAddress;
                return(partnerDetail);
            }

            return(new PartnerDetailViewModel());
        }
 /// <summary>
 /// Adds the partner detail.
 /// </summary>
 /// <param name="partnerDetailViewModel">The partner detail view model.</param>
 /// <returns></returns>
 public int AddPartnerDetail(PartnerDetailViewModel partnerDetailViewModel)
 {
     if (!string.IsNullOrEmpty(partnerDetailViewModel.EmailAddress))
     {
         Users newPartnerDetail = new Users()
         {
             UserId       = partnerDetailViewModel.UserId,
             EmailAddress = partnerDetailViewModel.EmailAddress,
             FullName     = partnerDetailViewModel.FullName,
             CreatedDate  = DateTime.Now
         };
         return(UserRepository.Add(newPartnerDetail));
     }
     return(0);
 }
        public bool SavePartnerDetail(PartnerDetailViewModel model, string UserId)
        {
            var result = false;

            try
            {
                var pregnancy = _repository.GetContext().Pregnancy.Where(p => p.PatientId == model.PatientId).FirstOrDefault();
                if (model.Id > 0)
                {
                    //Update Existing
                    var partnerDetail = _repository.GetContext().PartnerDetail.Where(p => p.Id == model.Id).FirstOrDefault();
                    Mapper.Map(model, partnerDetail);
                    partnerDetail.SetUpdateDetails(UserId);

                    _repository.SaveExisting(partnerDetail);
                }
                else
                {
                    //Add new Record
                    var partnerDetail = new PartnerDetail();
                    Mapper.Map(model, partnerDetail);
                    partnerDetail.PregnancyId = pregnancy.Id;
                    partnerDetail.SetCreateDetails(UserId);

                    var saveNew = _repository.SaveNew(partnerDetail);
                }

                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }