public ActionResult SetOrderItemDeliveryReceivedAtBranch(int nodeId) { var json = new ResultResponse(); try { DeliveryReceivedPackage pack = new DeliveryReceivedPackage(); pack.orderNodeId = nodeId; var orderItem = _orderItemManager.GetOrderItem(pack.orderNodeId); pack.readOnlyAtLibrary = orderItem.ReadOnlyAtLibrary; var eventId = _orderItemManager.GenerateEventId(BOOK_RECEIVED_AT_BRANCH_EVENT_TYPE); if (pack.readOnlyAtLibrary) { _orderItemManager.AddLogItem(pack.orderNodeId, "LEVERERAD", "Leveranstyp: Ej hemlån.", eventId, false, false); } else { _orderItemManager.AddLogItem(pack.orderNodeId, "LEVERERAD", "Leveranstyp: Avhämtning i infodisk.", eventId, false, false); } _orderItemManager.SetStatus(pack.orderNodeId, "14:Infodisk", eventId, false, false); // We save everything here first so that we get the new values injected into the message by the template service. _orderItemManager.SetPatronEmail(pack.orderNodeId, pack.mailData.recipientEmail, eventId); // Overwrite the message with message from template service so that we get the new values injected. if (pack.readOnlyAtLibrary) { pack.mailData.message = _templateService.GetTemplateData("BookAvailableForReadingAtLibraryMailTemplate", _orderItemManager.GetOrderItem(pack.orderNodeId)); } else { pack.mailData.message = _templateService.GetTemplateData("BookAvailableMailTemplate", _orderItemManager.GetOrderItem(pack.orderNodeId)); } _mailService.SendMail(new OutgoingMailModel(orderItem.OrderId, pack.mailData)); _orderItemManager.AddLogItem(pack.orderNodeId, "MAIL_NOTE", "Skickat mail till " + pack.mailData.recipientEmail, eventId, false, false); _orderItemManager.AddLogItem(pack.orderNodeId, "MAIL", pack.mailData.message, eventId); json.Success = true; json.Message = "Leverans till infodisk genomförd."; } catch (Exception e) { json.Success = false; json.Message = "Error: " + e.Message; } return(Json(json, JsonRequestBehavior.AllowGet)); }
public ActionResult SetOrderItemDeliveryReceived(string packJson) { var json = new ResultResponse(); try { DeliveryReceivedPackage pack = JsonConvert.DeserializeObject <DeliveryReceivedPackage>(packJson); var orderItem = _orderItemManager.GetOrderItem(pack.orderNodeId); var eventId = _orderItemManager.GenerateEventId(EVENT_TYPE); _folioService.InitFolio(pack.Title, orderItem.OrderId, pack.bookId, pack.PickUpServicePoint, pack.readOnlyAtLibrary, pack.FolioUserId); if (pack.readOnlyAtLibrary) { _orderItemManager.AddLogItem(pack.orderNodeId, "LEVERERAD", "Leveranstyp: Ej hemlån.", eventId, false, false); } else { _orderItemManager.AddLogItem(pack.orderNodeId, "LEVERERAD", "Leveranstyp: Avhämtning i infodisk.", eventId, false, false); } _orderItemManager.SetDueDate(pack.orderNodeId, pack.dueDate, eventId, false, false); _orderItemManager.SetProviderDueDate(pack.orderNodeId, pack.dueDate, eventId, false, false); _orderItemManager.SetDeliveryDateWithoutLogging(pack.orderNodeId, DateTime.Now, eventId, false, false); _orderItemManager.SetBookId(pack.orderNodeId, pack.bookId, eventId, false, false); _orderItemManager.SetProviderInformation(pack.orderNodeId, pack.providerInformation, eventId, false, false); _orderItemManager.SetStatus(pack.orderNodeId, "17:FOLIO", eventId, false, false); _orderItemManager.SetTitleInformation(pack.orderNodeId, pack.Title, eventId, false, false); // Overwrite the message with message from template service so that we get the new values injected. if (pack.readOnlyAtLibrary) { _orderItemManager.SetReadOnlyAtLibrary(pack.orderNodeId, true, eventId, false, false); } else { _orderItemManager.SetReadOnlyAtLibrary(pack.orderNodeId, false, eventId, false, false); } _orderItemManager.AddLogItem(pack.orderNodeId, "LOG", pack.logMsg, eventId); json.Success = true; json.Message = "Leverans till infodisk genomförd."; } catch (Exception e) { json.Success = false; json.Message = "Error: " + e.Message; } return(Json(json, JsonRequestBehavior.AllowGet)); }