//添加到货通知单 public bool AddArrivalNoticeForPurchase(string purchaseId, Users operators, IList <PurchaseOrderDetail> items) { ArrivalNoticeType type = new ArrivalNoticeType(1, "采购"); ArrivalNotice notice = new ArrivalNotice(type, purchaseId, 1, operators); foreach (PurchaseOrderDetail one in items) { notice.AddArrivalNoticeDetail(operators.Id, one.Id, one.Product, one.Qty); } this._arrivalNoticeRepository.Save(notice); this._uow.Commit(); return(true); }
/// <summary> /// 添加到货单 /// </summary> /// <param name="request"></param> /// <returns></returns> public bool AddArrivalReceiptDetail(AddArrivalReceiptDetailRequest request) { //获取通知到货明细 ArrivalNoticeDetail model = this._arrivalNoticeDetailRepository.FindBy(request.ArrivalNoticeId); if (model == null) { throw new EntityIsInvalidException <string>(request.PurchaseOrderDetailId.ToString()); } //添加到货单 AddArrivalReceiptRequest addreceipt = new AddArrivalReceiptRequest(); addreceipt.CreateUserId = request.CreateUserId; addreceipt.Note = ""; ArrivalReceipt receipt = this._arrivalReceiptService.AddArrivalReceipt(addreceipt); //添加到货明细 model.AddReceiptDetail(receipt, request.Qty, request.Note, request.CreateUserId); this._arrivalNoticeDetailRepository.Save(model); this._uow.Commit(); //看看到货单的所有产品是否已经都到货了 ArrivalNotice notice = this._arrivalNoticeRepository.FindBy(model.ArrivalNotice.Id); if (notice.State == 1) { //刷新通知到货单状态 notice.RefreshState(); if (notice.State == 2) { //调整采购单状态 AddWorkflowActivityRequest request_ac = new AddWorkflowActivityRequest(); request_ac.ObjectId = notice.ObjectId.ToString(); request_ac.ObjectTypeId = "PurchaseOrder"; request_ac.WorkflowNodeId = "PO-005"; request_ac.Note = "货物到齐全自动完结"; request_ac.CreateUserId = request.CreateUserId; this._workflowActivityService.InsertNewActivity(request_ac); } } return(true); }
public async Task AnnouncePickup(ArrivalNotice details) { var errorMessage = String.Empty; if (Int32.TryParse(details.Car, out var registrationId)) { var students = await _studentDetailsHelper.GetStudentsForCar(registrationId); if (students.Any()) { var announcement = new PickupNotice() { Car = details.Car, Cone = details.Cone, Students = students.ToList(), PickupTimeUTC = DateTimeOffset.UtcNow }; await _dbHelper.AddPickupLog(announcement); await Clients.All.SendAsync("PickupAnnouncement", JsonConvert.SerializeObject(announcement)); await Clients.Caller.SendAsync("SuccessAnnouncement"); } else { errorMessage = $"Failed to locate students attached to Registration Id: {registrationId}."; } } else { errorMessage = $"Failed to convert {details.Car} to number."; } if (!string.IsNullOrWhiteSpace(errorMessage)) { await Clients.Caller.SendAsync("FailureAnnouncement", errorMessage); _logger.LogError(errorMessage); } }
public static ArrivalNoticeView ConvertToArrivalNoticeView(this ArrivalNotice model) { return(Mapper.Map <ArrivalNotice, ArrivalNoticeView>(model)); }