public ReadData ReportGrid([FromBody] ListLeaveRequest res) { using (var context = new LeaveRequestDataContext()) { var query = from data in context.ListLeaveRequests select new ReadDB { Name = data.Name, Email = data.Email, StartDate = data.StartDate, EndDate = data.EndDate, DaysLeave = data.DaysLeave, LeaveType = data.LeaveType, Submission = data.Submission, status = data.status }; ReadData getdata = new ReadData { data = query.ToList(), total = query.ToList().Count }; return(getdata); } }
public async Task <IHttpActionResult> Create([FromBody] AddRequest req) { var flowId = ConfigurationManager.AppSettings["FlowId"]; commentHistory comment = new commentHistory(); ListLeaveRequest leave = new ListLeaveRequest(); using (var dc = new LeaveRequestDataContext()) { var user = dc.Employees.Where(o => o.Email == req.Email).SingleOrDefault(); string recordId = string.Empty; string processId = string.Empty; var bodyCreate = "{ " + "\"data\": { " + " \"definition\": { " + " \"id\": \"" + flowId + "\"" + "}" + "}" + "}"; JObject jsonCreate = JObject.Parse(bodyCreate); using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://mosaic.dev.nextflow.tech/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", user.Token); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await client.PostAsJsonAsync("nextflow/api/records", jsonCreate); var result = await response.Content.ReadAsAsync <dynamic>(); recordId = result.data.id; var bodySubmit = "{ " + "\"data\": { " + " \"form_data\": { " + " \"pvInitiator\": \"" + user.Email + "\"," + " \"pvInitiatorName\": \"" + user.Name + "\"," + " \"pvAction\": \"Submit\"," + " \"pvReq\": \"" + user.Email + "\"," + " \"pvApprover\":\"[email protected]\"" + "}," + "\"comment\" : \"" + req.comment + "\"" + "}" + "}"; JObject jsonSubmit = JObject.Parse(bodySubmit); var responseSubmit = await client.PostAsJsonAsync("nextflow/api/records/" + recordId + "/submit", jsonSubmit); var resultSubmit = await responseSubmit.Content.ReadAsAsync <dynamic>(); processId = resultSubmit.data.process_id; } leave.Name = req.Name; leave.Email = req.Email; leave.DaysLeave = req.DaysLeave; leave.ProcessId = processId; leave.RecordId = recordId; leave.StartDate = req.StartDate; leave.EndDate = req.EndDate; leave.DaysLeave = req.DaysLeave; leave.Submission = DateTime.Now; leave.status = req.status; leave.LeaveType = req.LeaveType; dc.ListLeaveRequests.InsertOnSubmit(leave); comment.Name = req.Name; comment.ProcessId = req.ProcessId; comment.Action = "Submit"; comment.Comment = req.comment; dc.commentHistories.InsertOnSubmit(comment); dc.SubmitChanges(); } return(Ok("Sukses")); }