using AntDesign; using AntDesign.TableModels; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using wispro.sp.entity; using wispro.sp.share; namespace wispro.sp.web.Services { public class OrganizationService { private readonly IHttpService _httpClient; public OrganizationService(IHttpService httpClient) { _httpClient = httpClient; } public async Task SaveDept(Department dept) { var data = await _httpClient.Post($"Organization/SaveDept",dept); return data; } public async Task> GetDepartments() { var data = await _httpClient.Get>($"Organization/GetDepartments"); return data; } public async Task> getPositions(int? deptId) { var ret = await _httpClient.Get>($"Organization/GetPositions?deptId={deptId}"); return ret; } public async Task> GetAllCustomer() { var ret = await _httpClient.Get>($"Organization/GetCustomers"); return ret; } public async Task DeleteDept(int deptId) { var ret = await _httpClient.Get($"Organization/DeleteDept?Id={deptId}"); return ret; } public async Task> GetStaffs(Department dept,int _pageIndex,int _pageSize) { if (dept == null || dept.Id <= 0) { ListApiResponse data = await _httpClient.Get>($"Staff/Query?pageIndex={_pageIndex}&pageSize={_pageSize}"); return data; } else { ListApiResponse data = await _httpClient.Get>($"Staff/QueryInDepartment?deptId={dept.Id}&pageIndex={_pageIndex}&pageSize={_pageSize}"); return data; } } string GetRandomuserParams(QueryModel queryModel) { List query = new List() { $"pageSize={queryModel.PageSize}", $"pageIndex={queryModel.PageIndex}", }; queryModel.SortModel.ForEach(x => { if (x.Sort != null) { query.Add($"sortField={x.FieldName.ToLower()}"); query.Add($"sortOrder={x.Sort}"); } }); queryModel.FilterModel.ForEach(filter => { filter.SelectedValues.ForEach(value => { query.Add($"{filter.FieldName.ToLower()}={value}"); }); }); return string.Join('&', query); } public async Task> GetStaffs(Department dept, QueryModel queryModel) { ListApiResponse data = await _httpClient.Get>($"Staff/Query?DeptId={dept.Id}&" + GetRandomuserParams(queryModel)); return data; } public async Task> GetStaffGrades() { var data = await _httpClient.Get>($"StaffGrade/GetAll"); return data; } public async Task SaveUser(Department dept,Position position,Staff staff) { SaveUserObject saveUser = new SaveUserObject(); if (dept != null) { saveUser.deptId = dept.Id; } saveUser.positionId = position.Id; saveUser.staff = staff; var data =await _httpClient.Post("Staff/SaveUser", saveUser); return data; } public async Task SaveCustomer(Customer customer) { var data = await _httpClient.Post("Organization/SaveCustomer", customer); return data; } public async Task GetCustomer(int id) { var data = await _httpClient.Get($"Organization/GetCustomer?id={id}"); return data; } public async Task Init() { await _httpClient.Get("Staff/Init"); } public async Task getPosition(Staff staff, Department editDepartment) { try { var data = await _httpClient.Get($"Organization/GetPosition?deptId={editDepartment.Id}&staffId={staff.Id}"); return data; } catch { return null; } } } }