public bool UpdateConditionStatus(int orderId, Guid conditionId, OrderConditionStatus status) { var order = _orderManager.GetOrderById(orderId); var orderCondition = order.Conditions.First(e => e.Identity == conditionId); if (AllowEditStatus(orderCondition)) { orderCondition.Status = status; SetConditionResolvedStatus(order); _orderHistoryManager.AddConditionStatusChangedNote(orderId, orderCondition.Description, status.ToString()); return true; } return false; }
public ConditionViewModel AddCondition(int orderId, OrderConditionStatus orderConditionStatus, int conditionId, string text) { var condition = _referenceRepository.GetConditionList().FirstOrDefault(e => e.Id == conditionId); if (condition == null) { return new ConditionViewModel { Description = string.Empty, LenderResponse = null, Status = OrderConditionStatus.Created }; } var description = condition.DisplayName.Replace("@@userInput", text); var order = _orderManager.GetOrderById(orderId); if (!AllowAddCondition(order)) { return new ConditionViewModel(); } var orderCondition = new OrderCondition { Status = orderConditionStatus, LenderResponse = null, Description = description, CreationDate = DateTime.Now, Identity = Guid.NewGuid() }; order.Conditions.Add(orderCondition); SetConditionCreatedStatus(order); _orderHistoryManager.AddConditionNote(orderId, description); _notificationManager.SheduleOrderLinkedEntityPeriodicalNotifications(order, OrderPeriodicalNotificationType.ConditionCreatedNotification, orderCondition.Identity); _notificationManager.SheduleOrderLinkedEntityPeriodicalNotifications(order, OrderPeriodicalNotificationType.ConditionResponseEscalation, orderCondition.Identity); return new ConditionViewModel(orderCondition) { AllowEditDescription = AllwoEditDescription(orderCondition), AllowEditResponse = AllowEditResponse(orderCondition), AllowEditStatus = AllowEditStatus(orderCondition), AllowRemoveCondition = AllowRemoveCondition(orderCondition) }; }
public ActionResult UpdateStatus(int orderId, Guid conditionId, OrderConditionStatus status) { var result = _conditionsService.UpdateConditionStatus(orderId, conditionId, status); CommitProviderInstance.Commit(); return Json(new { status = result }); }