//using FrameworkDAL.CustomCode.Image; //using FrameworkDAL.DTO.Project; //using GB5Shared.DTO.Framework.AutoNumber; //using GB5Shared.DTO.Framework.Criteria; //using GB5Shared.DTO.Framework.Login; //using GB5Shared.GenerateAutoNumber; //using GB5Shared.Resource.Response; //using GB5Shared.ResponseStandard; //using GB5Shared.Validation; //using System; //using System.ComponentModel.DataAnnotations; //using System.Threading.Tasks; //namespace FrameworkBLL.Image //{ // public class ImageBLL : IImageBLL // { // private readonly IImageDAL _ImageDAL; // private readonly AutoNumber _AutoNumber; // private readonly IValidation _Validation; // public ImageBLL(IImageDAL ImageDAL, AutoNumber AutoNumber, IValidation Validation) // { // _ImageDAL = ImageDAL; // _AutoNumber = AutoNumber; // _Validation = Validation; // } // public async Task GetImage(int ImageId, LoginDTO LoginDTO) // { // try // { // return await _ImageDAL.GetImage(ImageId, LoginDTO); // } // catch (Exception) // { // throw; // } // } // public async Task SaveImage(ImageDTO ImageDTO, LoginDTO LoginDTO) // { // if (ImageDTO == null) throw new ArgumentNullException(nameof(ImageDTO)); // AutoNumberDTO? autoNumberDTO = null; // try // { // //await _Validation.NotEmpty(ImageDTO.ImageCode, nameof(ImageDTO.ImageCode)); // await _Validation.NotEmpty(ImageDTO.ImageName, nameof(ImageDTO.ImageName)); // ImageDTO.ImageModifiedById = LoginDTO.UserId; // ImageDTO.ImageModifiedOn = DateTime.UtcNow; // int count = 1; // if (ImageDTO.ImageId == 0) // { // autoNumberDTO = await _AutoNumber.GetAutoNumber(count, "Image", LoginDTO); // ImageDTO.ImageId = autoNumberDTO.StartNumber; // ImageDTO.ImageCreatedById = LoginDTO.UserId; // ImageDTO.ImageCreatedOn = DateTime.UtcNow; // await _ImageDAL.SaveImage(ImageDTO, LoginDTO); // return $"{SuccessResponse.SaveSuccessMessage} {ImageDTO.ImageId}"; // } // else // { // await _ImageDAL.UpdateImage(ImageDTO, LoginDTO); // return $"{SuccessResponse.UpdateSuccessMessage} {ImageDTO.ImageId}"; // } // } // catch (ValidationException vex) // { // throw new Exception(vex.Message); // } // catch (Exception ex) // { // if (autoNumberDTO != null && ImageDTO.ImageId > 0) // await _AutoNumber.RollbackAutoNumber("Image", ImageDTO.ImageId, LoginDTO); // throw; // } // } // public async Task DeleteImage(int ImageId, LoginDTO LoginDTO) // { // try // { // return await _ImageDAL.DeleteImage(ImageId, LoginDTO); // } // catch (Exception) // { // throw; // } // } // public async Task GetSelectListImage(CriteriaDTO criteriaDTO, LoginDTO LoginDTO) // { // try // { // return await _ImageDAL.GetSelectListImage(criteriaDTO, LoginDTO); // } // catch (Exception) // { // throw; // } // } // } //}