public async Task <bool> AddDowntimeReasonType(ChartReason chartReason) { var id = await _downtimeReason.FindAll(x => x.reason_type.Trim() == chartReason.reason_1.Trim() && x.reason.Trim() == chartReason.reason_2.Trim()).GroupBy(x => x.id).Select(x => x.Key).FirstOrDefaultAsync(); var Records = _downtimeRecord.FindAll().Where(x => x.action_time_id == (int)chartReason.id); if (Records.Count() != 0) { Records.FirstOrDefault().remark = chartReason.reason_note; Records.FirstOrDefault().downtime_reason_id = id; } else { var data = new M_DowntimeRecord(); data.action_time_id = (int)chartReason.id; data.downtime_reason_id = id; data.remark = chartReason.reason_note; _downtimeRecord.Add(data); } try { await _downtimeRecord.SaveAll(); return(true); } catch (Exception) { return(false); } }
//Get All Reason private async Task <List <ReasonAnalysis_Dto> > GetListReason() { return(await _repoDownTimeReason.FindAll().Select(x => new ReasonAnalysis_Dto { id = x.id, reason_1 = x.reason_type.Trim(), reason_2 = x.reason.Trim(), duration = 0 }).ToListAsync()); }