131 lines
5.1 KiB
C#
131 lines
5.1 KiB
C#
// using System;
|
|
// using System.Collections.Generic;
|
|
// using System.Linq;
|
|
// using System.Threading.Tasks;
|
|
// using Contracts;
|
|
// using Contracts.DTOs.Generic;
|
|
// using Contracts.DTOs.Requests;
|
|
// using Core.Utils;
|
|
// using Domain;
|
|
// using Domain.Entities;
|
|
// using Microsoft.EntityFrameworkCore;
|
|
|
|
// namespace Auth.Core.Services.Requests;
|
|
|
|
// public class RequestService
|
|
// {
|
|
// private readonly Context context;
|
|
|
|
// public RequestService(Context context)
|
|
// {
|
|
// this.context = context;
|
|
// }
|
|
|
|
// public async Task CreateRequest(RequestVM requestVM, string userId)
|
|
// {
|
|
// requestVM.IssuerId = userId;
|
|
// requestVM = CreateTitleAndDescription(requestVM);
|
|
// var request = Request.ToEntity(requestVM);
|
|
// await context.Requests.AddAsync(request);
|
|
// await context.SaveChangesAsync();
|
|
// }
|
|
|
|
// public async Task<(List<Request>, int)> GetRequests(
|
|
// RequestFilter requestFilter,
|
|
// Pagination pagination
|
|
// )
|
|
// {
|
|
// var query = context.Requests.AsQueryable();
|
|
// query = query.ApplyFilter(requestFilter);
|
|
// // query = query.ApplySorting(sortBy);
|
|
// var count = query.Count();
|
|
// query = query.Paginate(pagination);
|
|
// query = query.Include(x => x.AcceptedBy).Include(x => x.Issuer);
|
|
// return (await query.ToListAsync(), count);
|
|
// }
|
|
|
|
// public async Task<List<Request>> GetRequestsAsUser(RequestFilter requestFilter, string id)
|
|
// {
|
|
// return await context.Requests.Where(x => x.IssuerId == id).ToListAsync();
|
|
// }
|
|
|
|
// public async Task TreatRequest(RequestVM requestVM, string id)
|
|
// {
|
|
// var request = await context.Requests.FirstOrDefaultAsync(x =>
|
|
// x.Id == requestVM.Id && requestVM.AcceptedById == id
|
|
// );
|
|
// var user = await context.AppUsers.FindAsync(id);
|
|
// if (request != null)
|
|
// {
|
|
// request.AcceptedBy = user;
|
|
// request.DateRequestTreated = DateTime.UtcNow;
|
|
// request.RequestStatus = requestVM.RequestStatus;
|
|
// context.Requests.Update(request);
|
|
// }
|
|
// await context.SaveChangesAsync();
|
|
// }
|
|
|
|
// public RequestVM CreateTitleAndDescription(RequestVM requestVM)
|
|
// {
|
|
// if (requestVM.RequestType == AppEnum.RequestType.LeavePermission)
|
|
// {
|
|
// if (requestVM.IsLeaveEarly == true)
|
|
// {
|
|
// requestVM.Title = "خروج مبكر";
|
|
// requestVM.Description =
|
|
// $"طلب موافقة على الخروج المبكر يوم {requestVM.PermissionDate} الساعة {requestVM.PermissionTime}.";
|
|
// }
|
|
// else
|
|
// {
|
|
// requestVM.Title = "دخول متأخر";
|
|
// requestVM.Description =
|
|
// $"طلب موافقة على الدخول المتأخر يوم {requestVM.PermissionDate} الساعة {requestVM.PermissionTime}.";
|
|
// }
|
|
// }
|
|
// else if (requestVM.RequestType == AppEnum.RequestType.Punches)
|
|
// {
|
|
// if (requestVM.IsAttend == true)
|
|
// {
|
|
// requestVM.Title = "تسجيل دخول";
|
|
// requestVM.Description =
|
|
// $"طلب موافقة على تسجيل الدخول بتاريخ {requestVM.PunchDate} والساعة {requestVM.PunchTime}.";
|
|
// }
|
|
// else
|
|
// {
|
|
// requestVM.Title = "تسجيل خروج";
|
|
// requestVM.Description =
|
|
// $"طلب موافقة على تسجيل الخروج بتاريخ {requestVM.PunchDate} والساعة {requestVM.PunchTime}.";
|
|
// }
|
|
// }
|
|
// else if (requestVM.RequestType == AppEnum.RequestType.AbsencePermission)
|
|
// {
|
|
// if (requestVM.IsFromHolidays == true)
|
|
// {
|
|
// requestVM.Title = "طلب أجازة";
|
|
// requestVM.Description =
|
|
// $"طلب إذن بالغياب يوم {requestVM.AbsenceDate} و يحسب من رصيد الأجازات السنوية.";
|
|
// }
|
|
// else
|
|
// {
|
|
// requestVM.Title = "إذن بالغياب";
|
|
// requestVM.Description = $"طلب إذن بالغياب يوم {requestVM.AbsenceDate}.";
|
|
// }
|
|
// }
|
|
// else if (requestVM.RequestType == AppEnum.RequestType.Financial)
|
|
// {
|
|
// if (requestVM.FinancialType == AppEnum.FinancialType.Loan)
|
|
// {
|
|
// requestVM.Title = "طلب سلفة";
|
|
// requestVM.Description = $"طلب سلفة بقيمة {requestVM.Amount}.";
|
|
// }
|
|
// else if (requestVM.FinancialType == AppEnum.FinancialType.Incentive)
|
|
// {
|
|
// requestVM.Title = "طلب تسوية مالية";
|
|
// requestVM.Description = $"طلب تسوية مالية قيمتها {requestVM.Amount}.";
|
|
// }
|
|
// }
|
|
|
|
// return requestVM;
|
|
// }
|
|
// }
|