using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using GB5Shared.Resource.GB5Solution; using GB5Shared.ResponseStandard; using MMDAL.DTO.Item; using MMDAL.Query.ItemDetail; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace MMDAL.CustomCode.ItemDetail { public class ItemDetailDAL : IItemDetailDAL { private readonly IQueryExecutor _QueryExecutor; public ItemDetailDAL(IQueryExecutor QueryExecutor) { _QueryExecutor = QueryExecutor; } public async Task GetItemDetail(int ItemDetailId, LoginDTO LoginDTO) { try { string Sql = ItemDetailQB.GET_ITEMDETAIL; var parameters = new { ItemDetailId = ItemDetailId }; ItemDetailDTO itemDetailDTO = await _QueryExecutor.QuerySingleAsync(LoginDTO, Sql, parameters); return JsonConvert.SerializeObject(itemDetailDTO); } catch (Exception) { throw; } } public async Task DeleteItemDetail(int ItemDetailId, LoginDTO LoginDTO) { try { string Sql = ItemDetailQB.DELETE_ITEMDETAIL; var parameters = new { ItemDetailId = ItemDetailId }; int result = await _QueryExecutor.ExecuteAsync(LoginDTO, Sql, parameters); if (result > 0) { return MMResource.DeletedSuccessfully; } else { return MMResource.NotFoundToDelete; } } catch (Exception ex) { throw new Exception(MMResource.DeleteFailed, ex); } } } }