public override void Update(QmsCorrectiveactionrequest entity) { QmsCorrectiveactionrequest oldEntity = this.RetrieveById(entity.Id); base.update(oldEntity, entity); base.Save(); }
public CorrectiveAction(QmsCorrectiveactionrequest car, User viewer) { orgViewerIsFrom = viewer.OrgId.Value; this.ActionId = 0; this.ActionRequestTypeId = car.ActionRequestTypeId; this.AssignedAt = car.AssignedAt; this.CreatedAtOrgId = car.CreatedAtOrgId.Value; this.CreatedByOrg = new Organization(car.CreatedAtOrg); this.AssignedToUserId = car.AssignedToUserId; if (this.AssignedToUserId.HasValue) { this.AssignedToUser = new User(car.AssignedToUser, false, false); } this.AssignedByUserId = car.AssignedByUserId; this.AssignedToOrgId = car.AssignedToOrgId; if (this.AssignedToOrgId.HasValue) { this.AssignedToOrg = new Organization(car.AssignedToOrg); } this.CreatedAt = car.CreatedAt; this.CreatedByUserId = car.CreatedByUserId; this.CreatedByUser = new User(car.CreatedByUser, false, false); this.DeletedAt = car.DeletedAt; this.EffectiveDateOfPar = car.EffectiveDateOfPar; this.EmplId = car.EmplId; this.Employee = new Employee(car.Empl); this.Id = car.Id; this.paymentMismatch = car.IsPaymentMismatch; this.NOACode = car.NatureOfAction; this.ParEffectiveDate = car.PareffectiveDate; this.ResolvedAt = car.ResolvedAt; this.StatusId = car.StatusId; this.Status = new Status(car.Status); this.SubmittedAt = car.SubmittedAt; this.UpdatedAt = car.UpdatedAt; this.Details = car.Details; this.ErrorTypes = new List <ErrorType>(); this.RowVersion = car.RowVersion; foreach (var item in car.QmsCorrectiveactionErrortype) { Console.WriteLine($"[CorrectiveAction] => (QmsCorrectiveactionErrortype.Id)................: {item.Id}"); Console.WriteLine($"[CorrectiveAction] => (QmsCorrectiveactionErrortype.CorrectiveActionId): {item.CorrectiveActionId}"); Console.WriteLine($"[CorrectiveAction] => (QmsCorrectiveactionErrortype.ErrorTypeId).......: {item.ErrorTypeId}"); Console.WriteLine($"[CorrectiveAction] => (QmsCorrectiveactionErrortype..ErrorType == null): {item.ErrorType == null}"); this.ErrorTypes.Add(new ErrorType(item)); } setReadOnly(viewer); }
internal int ExecuteUpdates(CorrectiveAction correctiveAction, User submittedBy, string history) { submitter = submittedBy; this.entity = correctiveAction; int retval = entity.Id; isNewTicket = retval == 0; routesToRBC = determineIfTicketRoutesToRBC(); // if submitted by PPRM this would need to be skipped StatusTransition action = referenceRepository.RetrieveOrgStatusTranstion(correctiveAction.ActionId); string actionToStatus = action.ToStatus.StatusCode; this.entity.StatusId = action.ToStatus.StatusId; if (isNewTicket) { this.entity.CreatedAt = DateTime.Now; this.entity.CreatedByUserId = submitter.UserId; this.entity.CreatedAtOrgId = submitter.OrgId.Value; this.entity.AssignedToOrgId = submitter.OrgId.Value; QmsCorrectiveactionrequest initialCar = correctiveAction.QmsCorrectiveActionRequest; correctiveActionRepository.context.Add(initialCar); correctiveActionRepository.context.SaveChanges(); retval = initialCar.Id; this.entity.Id = initialCar.Id; } else { this.entity.UpdatedAt = DateTime.Now; } if (actionToStatus == StatusType.UNASSIGNED) { ActionDescription = string.Format("{0} submitted Corrective Action for resolution<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Submitted; SubmitForResolution(); } else if (actionToStatus == StatusType.ASSIGNED) { ActionDescription = string.Format("{0} assigned Corrective Action<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Assigned; AssignToUser(entity); } else if (actionToStatus == StatusType.CLOSED) { ActionDescription = string.Format("{0} closed Corrective Action<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Closed; Close(entity); } else if (actionToStatus == StatusType.CLOSED_ACTION_COMPLETED) { ActionDescription = string.Format("{0} completed Corrective Action<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Closed; CloseActionCompleted(entity); } else if (actionToStatus == StatusType.DRAFT) { if (isNewTicket) { ActionDescription = string.Format("{0} created Corrective Action", submitter.DisplayName); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Created; SaveAsDraft(entity); } else { ActionDescription = string.Format("{0} withdrew Corrective Action<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Withdrawn; WithdrawItem(entity); } } else if (actionToStatus == StatusType.PENDING_REVIEW) { ActionDescription = string.Format("{0} submitted Corrective Action for review<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_PendingReview; SubmitForReview(entity); } else if (actionToStatus == StatusType.RETURNED) { ActionDescription = string.Format("{0} returned Corrective Action to originator<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Returned; Return(entity); } else if (actionToStatus == StatusType.REROUTED) { ActionDescription = string.Format("{0} rerouted Corrective Action<br/>{1}", submitter.DisplayName, history); correctiveActionService.addHistory(this.entity, submitter, ActionDescription); NotificationEventType = CorrectiveActionNotificationType.CA_Rerouted; Reroute(entity); } else { throw new InvalidStatusTypeException(actionToStatus + " is not a valid StatusType."); } QmsCorrectiveactionrequest car = this.entity.QmsCorrectiveActionRequest; correctiveActionRepository.Update(car); saveErrors(this.entity.ErrorTypes, retval, isNewTicket); correctiveActionRepository.context.SaveChanges(); return(retval); }