public async Task <JsonResult> Get(string kodediameter, int?periodemulaiberlaku, string namadiameter, bool?status)
        {
            var watch = Stopwatch.StartNew();

            try
            {
                var param = new MasterDiameterDto()
                {
                    KodeDiameter        = kodediameter,
                    NamaDiameter        = namadiameter,
                    PeriodeMulaiBerlaku = periodemulaiberlaku,
                    Status = status
                };

                AppResponse.ResponseGetData(await diameterService.GetAll(param));
            }
            catch (Exception e)
            {
                AppResponse.ResponseErrorGetData(e.InnerException != null ? e.InnerException.Message : e.Message);
            }

            watch.Stop();
            AppResponse._result.execution_time = watch.ElapsedMilliseconds;
            return(new JsonResult(AppResponse._result));
        }
        public async Task <IEnumerable <MasterDiameterDto> > GetAllAsync(MasterDiameterDto param)
        {
            using var context = new AppDbContext();

            IQueryable <MasterDiameter> query = context.MasterDiameter;


            if (!string.IsNullOrWhiteSpace(param.KodeDiameter))
            {
                query = query.Where(n => n.KodeDiameter == param.KodeDiameter);
            }

            if (!string.IsNullOrWhiteSpace(Convert.ToString(param.PeriodeMulaiBerlaku)))
            {
                query = query.Where(n => n.PeriodeMulaiBerlaku == param.PeriodeMulaiBerlaku);
            }

            if (!string.IsNullOrWhiteSpace(param.NamaDiameter))
            {
                query = query.Where(n => EF.Functions.Like(n.NamaDiameter, $"%{param.NamaDiameter}%"));
            }

            if (!string.IsNullOrWhiteSpace(Convert.ToString(param.Status)))
            {
                query = query.Where(n => n.Status == param.Status);
            }



            var data = await query.ToListAsync();

            return(_mapper.Map <IEnumerable <MasterDiameterDto> >(data));
        }
 public async Task <IEnumerable <MasterDiameterDto> > GetAll(MasterDiameterDto param)
 {
     return(await diameter.GetAllAsync(param));
 }