public bool RemoveIncome(UploadInfo info) { var tobj = repoTargetIncome.Query(o => o.TargetStateId == info.TargetStateId && o.IncomeId == info.UploadId).FirstOrDefault(); if (tobj == null) throw new ArgumentNullException(string.Format("Target income {0} not found!", info.UploadId)); bool result = repoTargetIncome.Delete(tobj); TargetIncomeChangedMessage msg = new TargetIncomeChangedMessage() { TargetIncome = tobj, DataOperation = DataOperation.Delete, OperateTime = info.OperationTime, OperatorId = info.UserId, OperatorName = info.UserName }; try { MessageManager.Publish<TargetIncomeChangedMessage>(msg); } catch (Exception ex) { //throw ex; } return result; }
public bool UploadIncome(UploadInfo info) { if (string.IsNullOrEmpty(info.FileUrl)) throw new Exception("no file provided!"); var targetState = repoTargetState.Query(o => o.TargetStateId == info.TargetStateId).FirstOrDefault(); if (targetState == null) throw new ArgumentNullException(string.Format("Target with state {0} not found!", info.TargetStateId)); var tobj = repoTargetIncome.Query(o => o.TargetStateId == info.TargetStateId && o.IncomeId == info.UploadId).FirstOrDefault(); if (tobj == null) { var obj = repoFlowIncome.Query(o => o.IncomeId == info.UploadId).FirstOrDefault(); if (obj == null) throw new ArgumentNullException(string.Format("Income width {0} in state {1} not defined!", info.UploadId, targetState.StateId)); tobj = new TargetIncome() { TargetIncomeId = idGenerator.NewId(), TargetStateId = info.TargetStateId, IncomeId = info.UploadId, Name = obj.Name, Remark = info.Remark, UploadTime = info.OperationTime, FileType = obj.FileType, FileUrl = info.FileUrl, FileStatus = FileStatus.Draft, UploaderId = info.UserId, UploaderName = info.UserName }; bool result = repoTargetIncome.Insert(tobj); TargetIncomeChangedMessage msg = new TargetIncomeChangedMessage() { TargetIncome = tobj, DataOperation = DataOperation.Insert, OperateTime = info.OperationTime, OperatorId = info.UserId, OperatorName = info.UserName }; try { MessageManager.Publish<TargetIncomeChangedMessage>(msg); } catch (Exception ex) { //throw ex; } return result; } else { if (!tobj.Verified.HasValue || !tobj.Verified.Value) { tobj.Remark = info.Remark; tobj.FileUrl = info.FileUrl; tobj.UploadTime = info.OperationTime; tobj.Remark = tobj.Remark + Environment.NewLine + info.Remark; tobj.UploaderId = info.UserId; tobj.UploaderName = info.UserName; bool result = repoTargetIncome.Update(tobj); TargetIncomeChangedMessage msg = new TargetIncomeChangedMessage() { TargetIncome = tobj, DataOperation = DataOperation.Insert, OperateTime = info.OperationTime, OperatorId = info.UserId, OperatorName = info.UserName }; try { MessageManager.Publish<TargetIncomeChangedMessage>(msg); } catch (Exception ex) { //throw ex; } return result; } else { throw new ApplicationException(string.Format("Income {0} has been verified!", tobj.TargetIncomeId)); } } }
public bool VerifyIncome(UploadInfo info) { if (string.IsNullOrEmpty(info.FileUrl)) throw new Exception("no file provided!"); var targetState = repoTargetState.Query(o => o.TargetStateId == info.TargetStateId).FirstOrDefault(); if (targetState == null) throw new ArgumentNullException(string.Format("Target with state {0} not found!", info.TargetStateId)); var tobj = repoTargetIncome.Query(o => o.TargetStateId == info.TargetStateId && o.IncomeId == info.UploadId).FirstOrDefault(); if (tobj == null) throw new ArgumentNullException(string.Format("Income {0} in state {1} not found!", info.UploadId, info.TargetStateId)); tobj.Verified = info.Verified; tobj.Remark = tobj.Remark + Environment.NewLine + info.Remark; tobj.VerifierId = info.UserId; tobj.VerifierName = info.UserName; tobj.VerifierTime = info.OperationTime; tobj.FileStatus = info.Verified.Value ? FileStatus.Verified : FileStatus.InValid; bool result = repoTargetIncome.Update(tobj); TargetIncomeChangedMessage msg = new TargetIncomeChangedMessage() { TargetIncome = tobj, DataOperation = DataOperation.Update, OperateTime = info.OperationTime, OperatorId = info.UserId, OperatorName = info.UserName }; try { MessageManager.Publish<TargetIncomeChangedMessage>(msg); } catch (Exception ex) { //throw ex; } return result; }