///TODO Use Generic Grid View public async Task <Tuple <int, List <CarsTransportaionsFullDto> > > GetAllCars(CarTransportationSearchViewModel model, int skip, int take) { var query = TableNoTracking.Where(a => !a.IsDeleted).ProjectTo <CarsTransportaionsFullDto>(); query = query.WhereIf(!string.IsNullOrEmpty(model.CarName), a => a.CarName.Contains(model.CarName)); query = query.WhereIf(!string.IsNullOrEmpty(model.CarModel), a => a.CarModel.Contains(model.CarModel)); query = query.WhereIf(!string.IsNullOrEmpty(model.MotorSerial), a => a.MotorSerial.Contains(model.MotorSerial)); query = query.WhereIf(!string.IsNullOrEmpty(model.Plaque), a => a.Plaque.Contains(model.Plaque)); query = query.WhereIf(model.TransportSize != null, a => a.TransportSize == model.TransportSize); int Count = query.Count(); query = query.OrderByDescending(x => x.Id); if (skip != -1) { query = query.Skip((skip - 1) * take); } if (take != -1) { query = query.Take(take); } return(new Tuple <int, List <CarsTransportaionsFullDto> >(Count, await query.ToListAsync())); }
public async Task <IEnumerable <Product> > GetListByCategoryAsync(CategoryType categoryType) { return(await TableNoTracking .Where(x => x.CategoryType == categoryType) .ToListAsync() .ConfigureAwait(false)); }
/// <summary> /// تنظیم نقش کاربر /// </summary> /// <param name="vm"></param> /// <returns></returns> public SweetAlertExtenstion SetRole(SetUserRoleViewModel vm) { var userRole = TableNoTracking.FirstOrDefault(a => a.UserId == vm.UserId); return(ResetRole()); #region LocalMethod SweetAlertExtenstion ResetRole() { if (userRole == null) { MapAdd(vm, false); } else { Delete(userRole); MapAdd(vm, false); } return(Save()); } #endregion }
public List <MealPlan> GetAllMealPlans() { List <MealPlan> mealPlans = TableNoTracking.ToList(); return(mealPlans); }
public bool HasAccess(int roleId, string controller, string action) /*=> true;*/ { var roleName = _roleRepository.GetRoleNameByRoleId(roleId); if (roleName == ImportantNames.AdminNormalTitle()) { return(true); } var userAccess = TableNoTracking.Where(a => a.RoleId == roleId).ToList(); foreach (var item in userAccess) { if (item.Controller.ToUpper() == controller.ToUpper() + ImportantNames.ControllerName()) { var actions = item.Actions == null ? null : JsonConvert.DeserializeObject <List <string> >(item.Actions); if (actions != null && actions.Contains(action)) { return(true); } } } return(false); }
public async Task <ApiResult <List <TagDto> > > Get(CancellationToken cancellationToken) { var list = await _repositoryPostTag.TableNoTracking .Where(a => !a.VersionStatus.Equals(2)) .GroupBy(a => a.TagId) .Select(g => new { g.Key, Count = g.Count() }) .OrderByDescending(a => a.Count) .Take(20) .ToListAsync(cancellationToken); var result = new List <TagDto>(); foreach (var value in list) { var res = await TableNoTracking .Where(a => !a.VersionStatus.Equals(2) && a.Id.Equals(value.Key)) .ProjectTo <TagDto>(Mapper.ConfigurationProvider) .SingleOrDefaultAsync(cancellationToken); if (res == null) { continue; } result.Add(res); } return(result); }
public async Task <Tuple <int, List <TransportationTariffFullDto> > > GetAllTariff(TariffSearchViewModel model, int skip, int take) { var query = TableNoTracking.Include(a => a.CarTransport).Where(a => !a.IsDeleted).ProjectTo <TransportationTariffFullDto>(); query = query.WhereIf(!string.IsNullOrEmpty(model.CarName), a => a.CarTransportCarName.Contains(model.CarName)); query = query.WhereIf(model.TehranAreasFrom != null, a => a.TehranAreasFrom == model.TehranAreasFrom); query = query.WhereIf(model.TehranAreasTO != null, a => a.TehranAreasTO == model.TehranAreasTO); query = query.WhereIf(model.ProductSizeTo != null, a => a.ProductSizeTo == model.ProductSizeTo); query = query.WhereIf(model.ProductSizeFrom != null, a => a.ProductSizeFrom == model.ProductSizeFrom); query = query.WhereIf(model.Tariff != null, a => a.Tariff == model.Tariff); int Count = query.Count(); query = query.OrderByDescending(x => x.Id); if (skip != -1) { query = query.Skip((skip - 1) * take); } if (take != -1) { query = query.Take(take); } return(new Tuple <int, List <TransportationTariffFullDto> >(Count, await query.ToListAsync())); }
public async Task <bool> LikePost(int userId, int id, float rate, CancellationToken cancellationToken) { if (rate < 0 || rate > 5) { throw new DataException("مقدار امتیاز نامعتبر است"); } var isLike = await TableNoTracking .AnyAsync(a => !a.VersionStatus.Equals(2) && a.UserId.Equals(userId) && a.PostId.Equals(id), cancellationToken); if (isLike) { throw new DataException("این مطلب قبلا امتیاز دهی شده است"); } await AddAsync(new Like { PostId = id, Rate = rate, UserId = userId, Time = DateTimeOffset.Now }, cancellationToken); return(true); }
/// <summary> /// گرفتن اطلاعات ویژگی های محصول بر اساس شناسه محصول /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <List <ProductFeature> > GetFeaturesByProductId(int id) { var model = await TableNoTracking.Include(a => a.Feature) .Where(a => a.ProductId == id).ToListAsync(); return(model); }
public MealPlanPrice GetMealPlanPrice(int MealPlanId, DateTime dateTime) { MealPlanPrice mealPlanPrice = TableNoTracking.First(e => e.StartDate <= dateTime && e.EndDate >= dateTime && e.MealPlanId == MealPlanId); return(mealPlanPrice); }
/// <summary> /// تغییر وضعیت یک فاکتور /// در صورتی که فاکتور در در ایتدای کار باشد یعنی پرداخت شده باشد باید در وضعیت ثبت سفارش قرار بگیرد /// در غیر اینصورت باید به مرحله بعدی برود /// در صورتی که در مرحله تحویل باشد /// دیگر نمیتوان وضعیت آن را تغییر داد /// </summary> /// <param name="shopOrderId"></param> /// <returns></returns> public async Task <Tuple <SweetAlertExtenstion, ShopOrderStatusSSOT> > SendNextStatus(int shopOrderId) { var result = await TableNoTracking.Where(x => x.ShopOrderId == shopOrderId).OrderBy(x => x.Date).ToListAsync(); // حالتی که فاکتور تازه ثبت شده است یعنی به عبارت دیگر پرداخت توسط مشتری انجام شده است if (result == null || result.Count == 0) { return(new Tuple <SweetAlertExtenstion, ShopOrderStatusSSOT>(await this.InsertAsync(new ShopOrderStatusInsertViewModel { ShopOrderId = shopOrderId, Status = ShopOrderStatusSSOT.Ordered }), ShopOrderStatusSSOT.Ordered)); } var lastStatus = result.LastOrDefault().Status; if (lastStatus == ShopOrderStatusSSOT.Delivery) { return(new Tuple <SweetAlertExtenstion, ShopOrderStatusSSOT>(SweetAlertExtenstion.Error("فاکتور مورد نظر در مرحله تحویل است."), ShopOrderStatusSSOT.Nothing)); } return(new Tuple <SweetAlertExtenstion, ShopOrderStatusSSOT>(await this.InsertAsync(new ShopOrderStatusInsertViewModel { ShopOrderId = shopOrderId, Status = lastStatus + 1 }), lastStatus + 1)); }
/// <summary> /// Find localized value /// </summary> /// <param name="entityName">Entity name</param> /// <param name="propertyName">Property name</param> /// <param name="entityId">Entity identifier</param> /// <param name="languageId">Language identifier</param> /// <param name="loadAllLocalizedProperties">true => load all records form cache | false => gradual loading</param> /// <returns>return localized value as string</returns> public virtual Task <string> GetLocalizedValueAsync(string entityName, string propertyName, int entityId, int languageId, bool loadAllLocalizedProperties, CancellationToken cancellationToken = default) { if (languageId == 0) { throw new ArgumentOutOfRangeException(nameof(languageId), "Language ID should not be 0"); } var key = string.Format(LocalizationCacheKeys.LocalizedPropertyCacheKey, entityName, entityId, propertyName, languageId); return(_cacheManagerString.GetAsync(key, LocalizationCacheKeys.LocalizedPropertyCacheRegion, async() => { string localeValue; if (loadAllLocalizedProperties) { //load all records (we know they are cached) var source = await GetAllCachedAsync(cancellationToken); localeValue = source .Where(p => p.LanguageId == languageId && p.EntityId == entityId && p.EntityName == entityName && p.PropertyName == propertyName) .Select(p => p.LocaleValue).FirstOrDefault(); } else { //gradual loading localeValue = await TableNoTracking .Where(p => p.LanguageId == languageId && p.EntityId == entityId && p.EntityName == entityName && p.PropertyName == propertyName) .Select(p => p.LocaleValue).FirstOrDefaultAsync(cancellationToken); } //little hack here. nulls aren't cacheable so set it to "" return localeValue ?? ""; })); }
public IEnumerable <MealPlanPrice> GetAllMealPlansPrices() { IEnumerable <MealPlanPrice> mealPlanPrices = TableNoTracking.ToArray(); return(mealPlanPrices); }
public IEnumerable <RoomPrice> GetAllRoomPrices() { IEnumerable <RoomPrice> roomPrices = TableNoTracking.ToArray(); return(roomPrices); }
public RoomPrice GetRoomPrice(RoomType roomType, DateTime dateTime) { RoomPrice roomPrice = TableNoTracking.FirstOrDefault(e => e.StartDate <= dateTime && e.EndDate >= dateTime && e.RoomType == roomType); return(roomPrice); }
public IEnumerable <Room> GetAllRooms() { IEnumerable <Room> rooms = TableNoTracking.ToArray(); return(rooms); }
public PagedList <Category> GetPaged(IPaged paged) { return(TableNoTracking .Where(p => p.ParentId == null) .Include(p => p.Categories) .PagedList(paged.PageIndex, paged.PageSize, paged.SearchByPropertyName, paged.SearchByText, paged.OrderByPropertyName, paged.OrderByDescending)); }
public bool HasAccess(int role, IDictionary <string, string> path) { var roleName = _roleRepository.GetRoleNameByRoleId(role); if (roleName == ImportantNames.AdminNormalTitle()) { return(true); } var userAccess = TableNoTracking.Include(a => a.Roles).Where(a => a.Roles.Id == role).ToList(); foreach (var item in userAccess) { if (item.Controller.ToUpper() == path["controller"].ToUpper() + ImportantNames.ControllerName()) { var actions = item.Actions == null ? null : JsonConvert.DeserializeObject <List <string> >(item.Actions); if (actions != null && actions.Contains(path["action"])) { return(true); } } } return(false); }
/// <summary> /// </summary> /// <param name="predicate"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public IPageList <UserSkill> GetPageList(Expression <Func <UserSkill, bool> > predicate, int pageIndex = 1, int pageSize = 8) { var query = TableNoTracking.Where(predicate); var pages = query.Skip((pageIndex - 1) * pageSize).Take(pageSize); return(new PageList <UserSkill>(pages, pageIndex, pageSize)); }
public async Task <IEnumerable <Reservation> > GetAll(CancellationToken cancellationToken, int range = 20) { List <Reservation> reservations = await TableNoTracking .Take(range) .ToListAsync(cancellationToken); return(reservations); }
private IQueryable <Person> GetWithIncludes() { return(TableNoTracking .Include(p => p.City) .Include(p => p.PhoneNumbers) .Include(p => p.Relations) .ThenInclude(r => r.RelatedPerson)); }
public async Task <ApiResult <List <CategoryDto> > > GetAllByCatId(int id, CancellationToken cancellationToken) { var list = await TableNoTracking .Where(a => !a.VersionStatus.Equals(2) && a.ParentCategoryId.Equals(id)) .ProjectTo <CategoryDto>(Mapper.ConfigurationProvider) .ToListAsync(cancellationToken); return(list); }
public async Task <ApiResult <List <LikeDto> > > Get(int userId, CancellationToken cancellationToken) { var list = await TableNoTracking .Where(a => !a.VersionStatus.Equals(2) && a.UserId.Equals(userId)) .ProjectTo <LikeDto>(Mapper.ConfigurationProvider) .ToListAsync(cancellationToken); return(list); }
public async Task <bool> DisLikePost(int userId, int id, CancellationToken cancellationToken) { var result = await TableNoTracking .SingleAsync(a => !a.VersionStatus.Equals(2) && a.UserId.Equals(userId) && a.PostId.Equals(id), cancellationToken); await DeleteAsync(result, cancellationToken); return(true); }
/// <summary> /// گرفتن کاربران شرایط خاص /// </summary> /// <param name="filter"></param> /// <returns></returns> public IQueryable <Users> GetUsers(FilterUserSSOT filter) { var model = TableNoTracking .WhereIf(filter == FilterUserSSOT.AllUser, a => true) .WhereIf(filter == FilterUserSSOT.ActiveUser, a => a.IsActive) .WhereIf(filter == FilterUserSSOT.DeActiveUser, a => !a.IsActive); return(model); }
public List <ShopProduct> ShopProductByUserId(int userId) { var model = TableNoTracking .Include(a => a.Product) .Include(a => a.ProductPackage) .Where(a => a.UserId == userId && a.IsFinaly == false && !a.IsFactorSubmited).ToList(); return(model); }
/// <summary> /// زمانی دسترسی های نقشی تغییر پیدا میکند ابتدا باید تمامی نقش های آن پاک شود /// </summary> /// <param name="roleId"></param> public void RemoveAccessRole(int roleId) { var lstAccessRole = TableNoTracking.Where(a => a.RoleId == roleId); if (lstAccessRole.Any()) { DeleteRange(lstAccessRole); } }
/// <summary> /// گرفتن تمام فرزندان یک پدر تا یک سطح /// </summary> /// <param name="parentId">شماره پدر</param> /// <param name="includeItSelf">خروجی مورد نظر شامل خود پدر هم بشود یا نه</param> /// <returns></returns> public async Task <List <ProductGroupDTO> > GetByParentId(int parentId, bool includeItSelf = false) { if (!includeItSelf) { return(await TableNoTracking.Where(x => x.ParentId == parentId).ProjectTo <ProductGroupDTO>().ToListAsync()); } //شامل خودش return(await TableNoTracking.Where(x => x.ParentId == parentId || x.Id == parentId).ProjectTo <ProductGroupDTO>().ToListAsync()); }
public async Task UpdateRemindedGallery(List <int> remindedGallery, int productId) { var productGallery = await TableNoTracking.Where(a => a.ProductId == productId && !remindedGallery.Contains(a.Id)).ToListAsync(); DeletePic(productGallery.Select(x => x.Pic).ToList()); await DeleteRangeAsync(productGallery); }
/// <summary> /// </summary> /// <param name="userId"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public IPageList <UserProject> GetPageListByUserId(long userId, int pageIndex = 1, int pageSize = 8) { var query = TableNoTracking.Where(n => n.UserId == userId); query = query.OrderByDescending(n => n.StartDate); var list = query.ToPagedList(pageIndex, pageSize); return(list); }