public void ApplyResponse(User user, FundResponseCopyFields fundResponseCopyFields) { ClientVisit lastClientVisit = clientBusinessLogic.ClientVisit_GetLastClientVisitInGroup(fundResponseCopyFields.ClientVisitGroupId); if (lastClientVisit.Status.Id == ClientVisitStatuses.FundError.Id || lastClientVisit.Status.Id == ClientVisitStatuses.Processed.Id || lastClientVisit.Status.Id == ClientVisitStatuses.AnswerPending.Id) { clientBusinessLogic.ClientVisit_SetStatus(user, lastClientVisit.Id, ClientVisitStatuses.Reconciliation.Id, true); lastClientVisit = clientBusinessLogic.ClientVisit_GetLastClientVisitInGroup(fundResponseCopyFields.ClientVisitGroupId); } else if (lastClientVisit.Status.Id != ClientVisitStatuses.Reconciliation.Id) { ClientVisit.SaveData newClientVisitData = new ClientVisit.SaveData(lastClientVisit); newClientVisitData.Status = ClientVisitStatuses.Reconciliation.Id; newClientVisitData.IsActual = true; var saveResult = clientBusinessLogic.ClientVisit_Save(user, newClientVisitData, DateTime.Now); lastClientVisit = clientBusinessLogic.ClientVisit_GetLastClientVisitInGroup(fundResponseCopyFields.ClientVisitGroupId); } if (lastClientVisit.Status.Id == ClientVisitStatuses.Reconciliation.Id) { FundResponse response = FundProcessingDao.Instance.FundResponse_Get(fundResponseCopyFields.ResponseId); ClientVisit.SaveData data = ClientVisit.SaveData.BuildSaveData(lastClientVisit); response.Apply(data, fundResponseCopyFields.NewFields, fundResponseCopyFields.OldFields); clientBusinessLogic.ClientVisit_Save(user, data); } }
public FundResponseCopyFields GetForBll() { FundResponseCopyFields data = new FundResponseCopyFields(); data.ClientVisitGroupId = this.ClientVisitGroupId; data.NewFields = this.NewFields; data.OldFields = this.OldFields; data.ResponseId = this.ResponseId; return(data); }