public async Task <IActionResult> ItemHistories([FromBody] ItemHistoryOptionViewModel Option) { if (Option != null) { var HasData = await this.repositoryRequireMaintenance.GetToListAsync(x => x, x => x.ItemId == Option.ItemId && x.RequireStatus != RequireStatus.Cancel, x => x.OrderByDescending(z => z.RequireDate), x => x.Include(z => z.ItemMaintenance)); if (HasData.Any()) { var MapData = HasData.Select(x => new { Fail = x.Description, Fix = x.ItemMaintenance == null ? "-" : x.ItemMaintenance.Description, Date = x.RequireDate, ItemMaintenanceId = x.ItemMaintenance == null ? 0 : x.ItemMaintenance.ItemMaintenanceId }); return(new JsonResult(MapData, this.DefaultJsonSettings)); } } return(BadRequest(new { Error = "Item history not found." })); }
public async Task <IActionResult> ItemHistories([FromBody] ItemHistoryOptionViewModel Option) { var message = "Data not been found."; try { if (Option != null) { /* * var HasData = await this.repositoryRequireMaintenance.GetToListAsync(x => new ItemHistorieViewModel * { * Fail = x.Description, * Fix = x.ItemMaintenance == null ? "-" : x.ItemMaintenance.Description, * Date = x.RequireDate, * Remark = x.ItemMaintenance == null ? "-" : x.ItemMaintenance.Remark, * ItemMaintenanceId = x.ItemMaintenance == null ? 0 : x.ItemMaintenance.ItemMaintenanceId * }, * x => x.ItemId == Option.ItemId && * x.RequireStatus != RequireStatus.Cancel, * x => x.OrderByDescending(z => z.RequireDate), * x => x.Include(z => z.ItemMaintenance)); */ var sqlCommand = new SqlCommandViewModel() { SelectCommand = $@"[R].[Description] AS [Fail] ,[M].[Description] AS [Fix] ,[R].[RequireDate] AS [Date] ,[R].[RequireDateTime] ,[M].[Remark] ,[M].[ItemMaintenanceId]", FromCommand = $@"[dbo].[RequireMaintenance] AS [R] LEFT OUTER JOIN [dbo].[ItemMaintenance] AS [M] ON [M].[RequireMaintenanceId] = [R].[RequireMaintenanceId]", WhereCommand = $@"[R].[ItemId] = {Option.ItemId} AND [R].[RequireStatus] != 4", OrderCommand = "[R].[RequireDate] DESC" }; var hasData = await this.dapper.GetListEntites <ItemHistorieViewModel>(sqlCommand); if (hasData.Any()) { return(new JsonResult(hasData, this.DefaultJsonSettings)); } } } catch (Exception ex) { message = $"Has error {ex.ToString()}"; } return(BadRequest(new { message })); }