public IActionResult ShutRep(string repairs) { // Get Login User's details. var ur = _context.AppUsers.Where(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); string[] s = repairs.Split(new char[] { ';' }); RepairModel repair; RepairDtlModel repairDtl; RepairShutRecordsModel shutRecord = new RepairShutRecordsModel(); foreach (string ss in s) { repair = _context.Repairs.Find(ss); if (repair != null) { // Update shut time on RepairDtl. repairDtl = _context.RepairDtls.Find(ss); repairDtl.ShutDate = DateTime.Now; _context.Entry(repairDtl).State = EntityState.Modified; // Record the shut user on RepairShutRecords. shutRecord.DocId = repairDtl.DocId; shutRecord.Rtp = ur.Id; shutRecord.Rtt = DateTime.Now; _context.Add(shutRecord); _context.SaveChanges(); } } return(new JsonResult(repairs) { Value = new { success = true, error = "" } }); }
public IActionResult ShutRep(string repairs, string shutType, string shutDate = null) { if (shutType == "關帳") { // Get Login User's details. var ur = _context.AppUsers.Where(u => u.UserName == this.User.Identity.Name).FirstOrDefault(); string[] s = repairs.Split(new char[] { ';' }); RepairModel repair; RepairDtlModel repairDtl; RepairShutRecordsModel shutRecord = new RepairShutRecordsModel(); foreach (string ss in s) { repair = _context.Repairs.Find(ss); if (repair != null) { // Update shut time on RepairDtl. repairDtl = _context.RepairDtls.Find(ss); repairDtl.ShutDate = DateTime.Now; if (!string.IsNullOrEmpty(shutDate)) { int year = Convert.ToInt32(shutDate.Substring(0, 3)) + 1911; int month = Convert.ToInt32(shutDate.Substring(3, 2)); DateTime date = new DateTime(year, month, 1); repairDtl.ShutDate = date; } _context.Entry(repairDtl).State = EntityState.Modified; // Record the shut user on RepairShutRecords. shutRecord.DocId = repairDtl.DocId; shutRecord.Rtp = ur.Id; shutRecord.Rtt = DateTime.Now; _context.Add(shutRecord); // Shut all tickets. var rcs = _context.RepairCosts.Include(rc => rc.TicketDtl).Where(rc => rc.DocId == repair.DocId).ToList(); if (rcs.Count() > 0) { foreach (var item in rcs) { var ticket = _context.Tickets.Find(item.TicketDtl.TicketDtlNo); if (ticket != null) { ticket.IsShuted = "Y"; _context.Entry(ticket).State = EntityState.Modified; } } } _context.SaveChanges(); } } } else if (shutType == "反關帳") { string[] s = repairs.Split(new char[] { ';' }); RepairModel repair; RepairDtlModel repairDtl; foreach (string ss in s) { repair = _context.Repairs.Find(ss); if (repair != null) { // Update shut time on RepairDtl. repairDtl = _context.RepairDtls.Find(ss); repairDtl.ShutDate = null; _context.Entry(repairDtl).State = EntityState.Modified; // delete the data of RepairShutRecords. var shutRecord = _context.RepairShutRecords.Find(ss); if (shutRecord != null) { _context.Remove(shutRecord); } // Reshut all tickets. var rcs = _context.RepairCosts.Include(rc => rc.TicketDtl).Where(rc => rc.DocId == repair.DocId).ToList(); if (rcs.Count() > 0) { foreach (var item in rcs) { var ticket = _context.Tickets.Find(item.TicketDtl.TicketDtlNo); if (ticket != null) { ticket.IsShuted = "N"; _context.Entry(ticket).State = EntityState.Modified; } } } _context.SaveChanges(); } } } return(new JsonResult(repairs) { Value = new { success = true, error = "" } }); }