Ejemplo n.º 1
0
		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;
		}
Ejemplo n.º 2
0
		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)
							};
		}
Ejemplo n.º 3
0
		public ActionResult UpdateStatus(int orderId, Guid conditionId, OrderConditionStatus status)
		{
			var result = _conditionsService.UpdateConditionStatus(orderId, conditionId, status);
			CommitProviderInstance.Commit();

			return Json(new { status = result });
		}