public ActionResult Index(AcquireEmailSearchModel model)
        {
            var referenceDate = new DateTime(2017, (DateTime.Today.AddMonths(-4)).Month, 1);
            IQueryable <AcquireEmail> list;

            if (User.IsInRole("Administrator") || User.IsInRole("Superadmin") || User.IsInRole("Management"))
            {
                list = _db.AcquireEmails.Where(x => x.InsertDate >= referenceDate);
            }
            else
            {
                //list = _db.AcquireEmails.Where(ae => ae.AcquireEmailStatus != AcquireEmailStatusEnum.Verified && ae.AssignedTo == User.Identity.Name);
                list = _db.AcquireEmails.Where(x => x.InsertDate >= referenceDate && x.AcquireEmailStatus != AcquireEmailStatusEnum.Verified &&
                                               x.AssignedTo == User.Identity.Name &&
                                               (!(x.Organization.OrganizationDetail.TelephoneNumber == String.Empty || x.Organization.OrganizationDetail.TelephoneNumber == null) ||
                                                !(x.Organization.OrganizationDetail.MobilePhoneNumber == String.Empty || x.Organization.OrganizationDetail.MobilePhoneNumber == null)));
            }

            //Search Engine
            if (!String.IsNullOrEmpty(model.CampaignName))
            {
                list = list.Where(x => x.Campaign.CampaignName.Contains(model.CampaignName));
            }
            if (!String.IsNullOrEmpty(model.OrganizationName))
            {
                list = list.Where(x => x.Organization.SubjectName.Contains(model.OrganizationName));
            }
            if (!String.IsNullOrEmpty(model.TelephoneMobile))
            {
                list = list.Where(x => x.Organization.OrganizationDetail.TelephoneNumber.EndsWith(model.TelephoneMobile) || x.Organization.OrganizationDetail.MobilePhoneNumber.EndsWith(model.TelephoneMobile));
            }
            if (!String.IsNullOrEmpty(model.Mail))
            {
                list = list.Where(x => x.Organization.MerDeliveryDetail.AcquiredReceivingInformation.Contains(model.Mail));
            }
            if (model.EmailStatusEnum != null)
            {
                var tempStatus = (AcquireEmailStatusEnum)model.EmailStatusEnum;
                list = list.Where(x => x.AcquireEmailStatus == tempStatus);
            }
            if (model.EntityStatusEnum != null)
            {
                var tempStatus = (AcquireEmailEntityStatusEnum)model.EntityStatusEnum;
                list = list.Where(x => x.AcquireEmailEntityStatus == tempStatus);
            }

            return(View(list.OrderByDescending(x => x.Id)));
        }
        public ActionResult IndexTemp(AcquireEmailSearchModel model)
        {
            var list = _db.AcquireEmails.Where(x =>
                                               (x.Organization.OrganizationDetail.TelephoneNumber == String.Empty ||
                                                x.Organization.OrganizationDetail.TelephoneNumber == null) &&
                                               (x.Organization.OrganizationDetail.MobilePhoneNumber == String.Empty ||
                                                x.Organization.OrganizationDetail.MobilePhoneNumber == null) &&
                                               x.AcquireEmailStatus == AcquireEmailStatusEnum.Created);

            //Search Engine
            if (!String.IsNullOrEmpty(model.CampaignName))
            {
                list = list.Where(x => x.Campaign.CampaignName.Contains(model.CampaignName));
            }
            if (!String.IsNullOrEmpty(model.OrganizationName))
            {
                list = list.Where(x => x.Organization.SubjectName.Contains(model.OrganizationName));
            }
            if (!String.IsNullOrEmpty(model.TelephoneMobile))
            {
                //list = list.Where(x => x.Organization.MerDeliveryDetail.Telephone.Contains(model.TelephoneMail) || x.Organization.MerDeliveryDetail.AcquiredReceivingInformation.Contains(model.TelephoneMail));
                list = list.Where(x => x.Organization.OrganizationDetail.TelephoneNumber.EndsWith(model.TelephoneMobile) || x.Organization.OrganizationDetail.MobilePhoneNumber.EndsWith(model.TelephoneMobile));
            }
            if (!String.IsNullOrEmpty(model.Mail))
            {
                list = list.Where(x => x.Organization.MerDeliveryDetail.AcquiredReceivingInformation.Contains(model.Mail));
            }
            if (model.EmailStatusEnum != null)
            {
                var tempStatus = (AcquireEmailStatusEnum)model.EmailStatusEnum;
                list = list.Where(x => x.AcquireEmailStatus == tempStatus);
            }
            if (model.EntityStatusEnum != null)
            {
                var tempStatus = (AcquireEmailEntityStatusEnum)model.EntityStatusEnum;
                list = list.Where(x => x.AcquireEmailEntityStatus == tempStatus);
            }

            return(View(list.OrderByDescending(x => x.Id)));
        }