public ICollection <Employee> Search(EmployeeSearchCondition condition) { try { using (OpenPOSDbEntities ctx = new OpenPOSDbEntities()) { ctx.ContextOptions.LazyLoadingEnabled = false; ctx.Employees.MergeOption = MergeOption.NoTracking; ctx.ContactDetails.MergeOption = MergeOption.NoTracking; var items = ctx.Employees.Include("ContactDetail").Where(x => x.Status == true); if (!string.IsNullOrEmpty(condition.Mobile) && !string.IsNullOrEmpty(condition.Email) && !string.IsNullOrEmpty(condition.Email)) { items = items.Where(x => x.ContactDetail.ContactName.Contains(condition.Name) || x.ContactDetail.Mobile.Contains(condition.Mobile) || x.ContactDetail.Email.Contains(condition.Email)); } else { if (!string.IsNullOrEmpty(condition.Name)) { items = items.Where(x => x.ContactDetail.ContactName.Contains(condition.Name)); } if (!string.IsNullOrEmpty(condition.Mobile)) { items = items.Where(x => x.ContactDetail.Mobile.Contains(condition.Mobile)); } if (!string.IsNullOrEmpty(condition.Email)) { items = items.Where(x => x.ContactDetail.Email.Contains(condition.Email)); } } items = items.OrderBy(x => x.ContactDetail.ContactName); if (condition.PageNo > 0 && condition.PageSize > 0) { items = items.Skip((condition.PageNo - 1) * condition.PageSize).Take(condition.PageSize); } return(new Collection <Employee>(items.ToList())); } } catch (Exception ex) { LogService.Error("Error while searching employees", ex); throw ex; } }
public HttpResponseMessage SearchEmployee(EmployeeSearchCondition SearchCondition) { try { var result = _userBusiness.SearchEmployee(SearchCondition); //Task.Run(async () => //{ // AzureStorageUploadFiles.GetInstance().DownloadPhotoAsync(result.ListResult[0].Avata); //}); //Task.Run(async () => //{ // AzureStorageUploadFiles.GetInstance().DeletePhotoAsync(result.ListResult[0].Avata); //}); return(Request.CreateResponse(HttpStatusCode.OK, result)); } catch (Exception ex) { logger.Error(ex.Message, ex.InnerException); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }