public static void Main(string[] args) { ContractLog.Init(); IList <Thread> threads = new List <Thread>(); ConcurrentQueue <ContractTask> tasks = new ConcurrentQueue <ContractTask>(); var web3 = InitWeb3(); if (web3 != null) { var oracle = new Oracle(web3); threads.Add(new Thread(() => CreateHostBuilder(args).Build().Run())); for (int i = 0; i < 3; ++i) { threads.Add(new Thread(() => DemoOfContractExecute(oracle, tasks))); } foreach (var thread in threads) { thread.Start(); } // generate contracts for (int i = 0; i < 9; ++i) { tasks.Enqueue(new ContractTask(oracle)); } } ContractLog.Close(); }
public virtual IActionResult DeleteContractAcceptanceNoiBo(int Id) { var item = _contractService.GetContractAcceptanceNoiBoById(Id); if (item == null) { ErrorNotification("Không thể xoá"); return(RedirectToAction("List")); } _contractService.DeleteContractAcceptance(item); // Insert ContractLog var contractLog = new ContractLog() { ContractId = item.Id, CreatedDate = DateTime.Now, CreatorId = _workContext.CurrentCustomer.Id, ContractData = item.ToModel <ContractAcceptanceModel>().toStringJson() }; _contractLogService.InsertContractLog(contractLog, "Xóa nghiệm thu nội bộ: " + item.Name); var lstAcceptanceSub = _contractService.GetAllContractAcceptanceSubByAcceptanceNoiBoId(item.Id); foreach (ContractAcceptanceSub acceptanceSub in lstAcceptanceSub) { _contractService.DeleteContractAcceptanceSub(acceptanceSub); } return(JsonSuccessMessage(_localizationService.GetResource("AppWork.Contract.ContractAcceptance.Deleted"))); }
/// <summary> /// Gets the contract log list. /// </summary> /// <param name="paymentResultDictionary">The payment result dictionary.</param> /// <param name="contractList">The contract list.</param> /// <returns></returns> private static List <ContractLog> GetContractLogList(Dictionary <long, List <PaymentResult> > paymentResultDictionary, List <Contract> contractList) { List <ContractLog> contractLogs = new List <ContractLog>(); if (paymentResultDictionary != null && paymentResultDictionary.Count > 0) { foreach (var paymentResultKeyValuePair in paymentResultDictionary.Where(q => q.Value != null)) { ContractLog contractLog = new ContractLog { ClaimId = paymentResultKeyValuePair.Key }; PaymentResult overAllClaimPaymentResult = paymentResultKeyValuePair.Value.FirstOrDefault( payment => payment.Line == null && payment.ServiceTypeId == null); //Get ContractId and Contract Name long? matchedContractId = null; string matchedContractName = string.Empty; Contract matchedContract = null; if (overAllClaimPaymentResult != null) { if (overAllClaimPaymentResult.ContractId.HasValue) { matchedContractId = overAllClaimPaymentResult.ContractId; matchedContract = contractList.FirstOrDefault( q => matchedContractId != null && q.ContractId == overAllClaimPaymentResult.ContractId); if (matchedContract != null) { matchedContractName = matchedContract.ContractName; } } EnumHelper enumHelper = EnumHelperLibrary.GetFieldInfoFromEnum((Enums.AdjudicationOrVarianceStatuses)overAllClaimPaymentResult.ClaimStatus); contractLog.StatusCode = enumHelper.FieldName; } contractLog.ContractId = matchedContractId; contractLog.ContractName = matchedContractName; contractLog.InsertDate = DateTime.UtcNow; contractLogs.Add(contractLog); //Add log for claim level adjudicated data contractLogs.AddRange(GetClaimLevelContractLogList(paymentResultKeyValuePair, contractList, matchedContract)); //Add log for line level adjudicated data contractLogs.AddRange(GetLineLevelContractLogList(paymentResultKeyValuePair, matchedContract)); } } contractLogs = UpdateLogContent(contractLogs); return(contractLogs); }
/// <summary> /// Inserts a review type /// </summary> /// <param name="item">Review type</param> public virtual void InsertContractLog(ContractLog item, string note) { if (item == null) { throw new ArgumentNullException(nameof(item)); } item.Note = note; _itemRepository.Insert(item); //event notification _eventPublisher.EntityInserted(item); }
public void InsertContractLogDelete(Task item) { var contract = _contractService.GetContractById(item.ContractId); var task = _workTaskService.GetTaskById(item.Id); var contractlog = new ContractLog(); contractlog.ContractId = contract.Id; contractlog.CreatedDate = DateTime.Now; contractlog.CreatorId = _workContext.CurrentCustomer.Id; contractlog.ContractData = task.ToModel <TaskModel>().toStringJson(); contractlog.PeriodId = contract.PeriodId; _contractLogService.InsertContractLog(contractlog, "Xoá công việc " + item.Name); }
/// <summary> /// Gets the line level contract log list. /// </summary> /// <param name="paymentResultKeyValuePair">The payment result key value pair.</param> /// <param name="contract">The contract.</param> /// <returns></returns> private static IEnumerable <ContractLog> GetLineLevelContractLogList(KeyValuePair <long, List <PaymentResult> > paymentResultKeyValuePair, Contract contract) { List <ContractLog> contractLogs = new List <ContractLog>(); List <PaymentResult> paymentResults = paymentResultKeyValuePair.Value.Where(q => q.Line != null).ToList(); if (paymentResults.Any()) { long? contractId = contract != null ? contract.ContractId : (long?)null; string contractName = contract != null ? contract.ContractName : string.Empty; foreach (PaymentResult paymentResult in paymentResults) { ContractLog contractLog = new ContractLog { ClaimId = paymentResult.ClaimId, ContractId = contractId, ContractName = contractName, ServiceLine = paymentResult.Line }; EnumHelper enumHelperClaimCharge = EnumHelperLibrary.GetFieldInfoFromEnum((Enums.AdjudicationOrVarianceStatuses)paymentResult.ClaimStatus); contractLog.StatusCode = enumHelperClaimCharge.FieldName; if (contract != null && paymentResult.ServiceTypeId.HasValue) { ContractServiceType contractServiceType = contract.ContractServiceTypes.FirstOrDefault( q => q.ContractServiceTypeId == paymentResult.ServiceTypeId); if (contractServiceType != null) { contractLog.ServiceTypeName = contractServiceType.ContractServiceTypeName; contractLogs.Add(GetLineItemFoundLog(paymentResult, contractId, contractName, contractServiceType.ContractServiceTypeName)); if (paymentResult.PaymentTypeId.HasValue) { EnumHelper enumHelperPaymentType = EnumHelperLibrary.GetFieldInfoFromEnum((Enums.PaymentTypeCodes)paymentResult.PaymentTypeId.Value); contractLog.PaymentType = enumHelperPaymentType.FieldName; } } } contractLog.InsertDate = DateTime.UtcNow; contractLogs.Add(contractLog); } } return(contractLogs); }
/// <summary> /// Gets the line item found log. /// </summary> /// <param name="lineLevelPaymentResult">The line level payment result.</param> /// <param name="contractId">The contract identifier.</param> /// <param name="contractName">Name of the contract.</param> /// <param name="serviceTypeName">Name of the service type.</param> /// <returns></returns> private static ContractLog GetLineItemFoundLog(PaymentResult lineLevelPaymentResult, long?contractId, string contractName, string serviceTypeName) { EnumHelper enumHelperClaimChargeLineItemFound = EnumHelperLibrary.GetFieldInfoFromEnum(Enums.AdjudicationOrVarianceStatuses.LineItemMatchesAServiceLine); ContractLog contractLog = new ContractLog { ClaimId = lineLevelPaymentResult.ClaimId, ServiceLine = lineLevelPaymentResult.Line, StatusCode = enumHelperClaimChargeLineItemFound.FieldName, ContractId = contractId, ContractName = contractName, ServiceTypeName = serviceTypeName, InsertDate = DateTime.UtcNow, }; return(contractLog); }
public virtual IActionResult ProcuringAgencyTaskAdd(TaskModel model) { var task = _workTaskService.GetTaskById(model.Id); if (task != null) { if (model.TaskProcuringAgencyId > 0) { task.TaskProcuringAgencyId = model.TaskProcuringAgencyId; } else { task.TaskProcuringAgencyId = null; } _workTaskService.UpdateTask(task); return(JsonSuccessMessage("Cập nhật liên danh thành công!")); } //them contractlog vs Tasklog //Insert Contract Log var contract = _contractService.GetContractById(task.ContractId); var contractLog = new ContractLog() { ContractId = contract.Id, CreatedDate = DateTime.Now, CreatorId = _workContext.CurrentCustomer.Id, ContractData = task.ToModel <TaskModel>().toStringJson() }; _contractLogService.InsertContractLog(contractLog, "Thêm liên danh cho công việc " + task.Name); // Insert TaskLog var TaskLogModel = new TaskLogModel { TaskId = task.Id, Note = "Thêm liên danh cho công việc." }; _taskModelFactory.InsertTaskLog(TaskLogModel); return(JsonErrorMessage()); }
public virtual IActionResult Create(ContractAcceptanceModel model) { var noti = "admin.common.Added"; var item = new ContractAcceptance(); if (ModelState.IsValid && model.listAcceptanceSub.Count > 0) { if (model.Id > 0) { item = _contractService.getContractAcceptancebyId(model.Id); _contractModelFactory.PrepareContractAcceptanceNoiboForUnit(model, item); //remove listAcceptanceSub cu _contractService.DeleteContractAcceptanceSubByAcceptanceId(AccepId: model.Id, TypeId: (int)ContractAcceptancesType.NoiBo); } // add ContractAcceptanceNoibo _contractModelFactory.PrepareContractAcceptanceNoiboForUnit(model, item); if (model.Id > 0) { _contractService.UpdateContractAcceptance(item); // Insert ContractLog var contractLog = new ContractLog() { ContractId = item.Id, CreatedDate = DateTime.Now, CreatorId = _workContext.CurrentCustomer.Id, ContractData = item.ToModel <ContractAcceptanceModel>().toStringJson() }; _contractLogService.InsertContractLog(contractLog, "Sửa nghiệm thu nội bộ: " + item.Name); noti = "admin.common.updated"; } else { _contractService.InsertContractAcceptance(item); // Insert ContractLog var contractLog = new ContractLog() { ContractId = item.Id, CreatedDate = DateTime.Now, CreatorId = _workContext.CurrentCustomer.Id, ContractData = item.ToModel <ContractAcceptanceModel>().toStringJson() }; _contractLogService.InsertContractLog(contractLog, "Thêm mới nghiệm thu nội bộ: " + item.Name); } //var _cas = new ContractAcceptanceSub(); foreach (ContractAcceptanceSubModel _casModel in model.listAcceptanceSub) { _casModel.Description = item.Name; var _cas = _contractModelFactory.PrepareContractAcceptanceSubByTask(_casModel, null); _cas.AcceptanceId = item.Id; _contractService.InsertContractAcceptionSub(_cas); if (model.SelectedListFileId.Count > 0) { foreach (int FileId in model.SelectedListFileId) { var contractFile = new ContractFile { ContractId = _cas.ContractId, FileId = FileId, TypeId = (int)ContractFileType.AcceptanceNoiBo, EntityId = item.Id.ToString(), }; _contractService.InsertContractFile(contractFile); } } } return(JsonSuccessMessage(_localizationService.GetResource(noti))); } else { var list = ModelState.Values.Where(c => c.Errors.Count > 0).ToList(); return(JsonErrorMessage("Error", list)); } }