using Back.Common; using Back.Data.Contracts; using Back.Data.Models; using Microsoft.EntityFrameworkCore; using Shared.DTOs; namespace Back.Services { public class ServBase { private readonly IAsyncRepository _repoPricing; private readonly IAsyncRepository _repoBlog; public ServBase(IAsyncRepository repoPricing, IAsyncRepository repoBlog) { _repoPricing = repoPricing; _repoBlog = repoBlog; } public async Task> GetBasePrice() { return await _repoPricing.GetAll().Select(x => new BasePriceDto { Price = x.Price, CalculationType = x.CalculationTypeID == 1 && x.PermissionID == 16 ? "هر ارسال" :x.CalculationTypeID== 1 && x.PermissionID != 16 ? "واحدی" : x.CalculationTypeID == 2 ? "نامحدود" : "روزانه", PermissionID=x.PermissionID, }).ToListAsync(); } public async Task> GetBlog(int PageIndex, int PageSize) { return await _repoBlog.Get(w=>w.Status).OrderByDescending(o=>o.ID) .Select(s=>new BlogDto { Title = s.Title, Date=s.Date, ID=s.ID, Photo=string.IsNullOrEmpty(s.Photo) ? "blog-SampleTitle.jpg" : s.Photo }).Paging(PageIndex, PageSize); ; } public async Task GetBlogByID(int ID) { var result= await _repoBlog.Get(w => w.Status && w.ID==ID) .Select(s => new BlogDtoFull { Title = s.Title, Date = s.Date, ID = s.ID, Photo = string.IsNullOrEmpty(s.Photo) ? "blog-SampleTitle.jpg" : s.Photo, Text=s.Text, Time=s.Time }).FirstOrDefaultAsync(); return result; } } }