public JsonResult Edit(WorkingStatus model) { try { if (!ModelState.IsValid) { return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." })); } WorkingStatus itemFound = WorkingStatusManager.GetById(model.kWorkingStatusId); if (itemFound == null) { return(Json(new { Result = "ERROR", Message = "Item Not Found" })); } WorkingStatusManager.Edit(model); return(Json(new { Result = "OK" })); } catch (Exception ex) { return(Json(new { Result = "ERROR", Message = ex.Message })); } }
public JsonResult EditClaim(Claim claim_sending, ClaimStatus status_sending) { try { if (!ModelState.IsValid) { return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." })); } Repair repair = null; Claim itemFound = ClaimManager.GetById(claim_sending.kClaimId); if (itemFound == null) { return(Json(new { Result = "ERROR", Message = "Item Not Found" })); } if (itemFound.IsComplete == true) { return(Json(new { Result = "ERROR", Message = "ปิด job!" })); } var status = WorkingStatusManager.GetById(status_sending.kWorkingStatusId); if (status.iDefault == (int)Working.ConfirmRepair && claim_sending.IsRecieved != true) { return(Json(new { Result = "ERROR", Message = "ตรวจรับสินค้า!" })); } bool isStatusChange = false; if (status_sending.kWorkingStatusId != itemFound.kWorkingStatusId) { #region update claim status side if (status.iDefault == (int)Working.ConfirmRepair) { status_sending.kStaffId = itemFound.kOwnerId.Value; } else { status_sending.kStaffId = (Guid)Membership.GetUser().ProviderUserKey; } status_sending.dtDateAdd = DateTime.Now; status_sending.kClaimStatusId = Guid.NewGuid(); ClaimStatusManager.Create(status_sending); #endregion #region also update repair status side if (!String.IsNullOrEmpty(itemFound.sRepairNo)) { repair = RepairManager.GetByRepairNo(itemFound.sRepairNo); RepairStatus repairStatus = new RepairStatus { kStaffId = itemFound.kOwnerId.Value, kRepairId = repair.kRepairId, kWorkingStatusId = status_sending.kWorkingStatusId, kRepairStatusId = Guid.NewGuid() }; RepairStatusManager.Create(repairStatus); } #endregion isStatusChange = true; } #region update claim //assign claim itemFound.dtDateUpdate = DateTime.Now; itemFound.IsRecieved = claim_sending.IsRecieved; itemFound.IsNoCredit = claim_sending.IsNoCredit; if (isStatusChange) { itemFound.kStaffId = itemFound.kOwnerId.Value; } ClaimManager.Edit(itemFound); #endregion #region update repair if (isStatusChange) { if (repair != null) { repair.kStaffId = status_sending.kStaffId; } RepairManager.Edit(repair); } #endregion if (isStatusChange) { //create remind for history RemindHistory remind = new RemindHistory { sRemind = itemFound.vMessage, kStaffId = itemFound.kOwnerId.Value }; RemindHistoryManager.Create(remind); var clientName = User.Identity.Name; Task.Factory.StartNew(() => { var clients = Hub.GetClients <RealTimeJTableDemoHub>(); clients.RecordUpdated(clientName, itemFound); }); } return(Json(new { Result = "OK", Records = itemFound })); } catch (Exception ex) { return(Json(new { Result = "ERROR", Message = ex.Message })); } }