public IActionResult Save(AddTimeSheet items, [FromQuery] string save) { //Module items = itemsData.Data; //var itemsObject = await request.Content.; //AddTimeSheet items = JsonConvert.DeserializeObject<AddTimeSheet>(request); try { Timesheetv2 timeSheet = new Timesheetv2(); var existingEmployeee = db.Timesheetv2.FirstOrDefault(item => items.empId == item.EmpId); if (existingEmployeee == null) { timeSheet.EmpId = items.empId; timeSheet.EmpName = items.empName; db.Add(timeSheet); db.SaveChanges(); } foreach (TimeSheetData value in items.Data) { Timesheetitemv2 timeSheetItem = new Timesheetitemv2(); Timesheetentryv2 timeSheetEntry = new Timesheetentryv2(); timeSheetItem.Hours = value.hours; timeSheetItem.EmpId = items.empId; timeSheetItem.Status = save; timeSheetItem.Submittedto = value.submittedto; timeSheetItem.ToDate = items.toDate; timeSheetItem.FromDate = items.fromDate; timeSheetItem.Date = value.date; db.Add(timeSheetItem); db.SaveChanges(); int index = timeSheetItem.TimestampId; timeSheetEntry.Customer = value.customer; timeSheetEntry.Company = value.company; timeSheetEntry.Task = value.task; timeSheetEntry.Project = value.project; timeSheetEntry.Timestampid = index; db.Add(timeSheetEntry); db.SaveChanges(); } return(Ok(new { value = 200 })); } catch (Exception e) { Console.Write(e); var s = e; return(BadRequest(new { error = e })); } }
public IActionResult GetInBound([FromQuery] string empid, DateTime fromDate) { try { var draft = 0; var pending = 0; var approved = 0; var rejected = 0; Timesheetitemv2 employe = new Timesheetitemv2(); var empExist = db.Timesheetv2.FirstOrDefault(item => item.EmpId == empid); if (empExist != null) { var singleItem = db.Timesheetitemv2.FirstOrDefault(a => ((a.EmpId == empid) && (a.FromDate == fromDate))); var list = (from timeSheetItem in db.Timesheetitemv2 join data in db.Timesheetentryv2 on timeSheetItem.TimestampId equals data.Timestampid where timeSheetItem.FromDate == fromDate select new { timeSheetItem.Status, timeSheetItem.FromDate, timeSheetItem.ToDate, timeSheetItem.Date, data.Company, data.Customer, data.Project, data.Task, timeSheetItem.Hours, timeSheetItem.EmpId }); var status = singleItem.Status; foreach (var i in list) { if (i.Status == "draft") { draft++; } else if (i.Status == "pending") { pending++; } else if (i.Status == "approved") { approved++; } else if (i.Status == "rejected") { rejected++; } } IDictionary <string, int> count = new Dictionary <string, int> { { "draft", draft }, { "submitted", rejected }, { "pending", pending }, { "approved", approved } }; return(Ok(new { statusCode = 200, message = "done", status, empId = empExist.EmpId, empName = empExist.EmpName, data = list, })); } return(BadRequest(new { statusCode = 400, message = "Error", empId = empExist.EmpId, empName = empExist.EmpName, data = "string", })); } catch (Exception e) { return(BadRequest(new { statusCode = 400, data = "string", })); } }