/// <summary> /// Load history data from DB converting to List of IWorkOrderModel /// Out errorMessage if data not loaded /// </summary> public IEnumerable <IOrderViewModel> GetMasterOrder(int orderId, string accessToken, out string errorMessage) { errorMessage = string.Empty; var result = new List <IOrderViewModel>(); var order = WebApiWorker.GetResult <LaborDetail.Item>(apiLaborDetail + "/LaborDetail/Get/" + orderId, accessToken, out errorMessage); if (string.IsNullOrEmpty(errorMessage)) { var labor = new BasicWorkViewModel(_directoryManager, _orderItemFactory); labor.ConvertToViewModel(order); result.Add(labor); foreach (var item in order.SubLaborDetails) { var additionalLabor = new AdditionalWorkViewModel(_directoryManager, _orderItemFactory); additionalLabor.ConvertToViewModel(item); result.Add(additionalLabor); } if (order.ManualOperations.Count > 0 || order.Employees.Count > 0) { var manual = new ManualWorkViewModel(_directoryManager, _orderItemFactory); manual.ConvertToViewModel(order); result.Add(manual); } foreach (var i in result) { i.Index = result.IndexOf(i); } } return(result); }
/// <summary> /// Load detail order data from DB converting to List of IOrderViewModel by orderId /// Out errorMessage if data not loaded /// </summary> public bool SaveOrder(List <IOrderViewModel> orderCollection, string accessToken, out string errorMessage) { errorMessage = null; LaborDetail.Item result = new LaborDetail.Item(); var mainlabor = orderCollection.FirstOrDefault(x => x is BasicWorkViewModel); if (mainlabor != null) { mainlabor.ConvertToModel(result); var sublaborOrderCollection = orderCollection.ToList(); sublaborOrderCollection.Remove(mainlabor); foreach (var item in sublaborOrderCollection) { item.ConvertToModel(result); } } if (result.Identity > 0) { WebApiWorker.PutData(apiLaborDetail + "/LaborDetail/Put", result, null, out errorMessage); } else { WebApiWorker.PostData(apiLaborDetail + "/LaborDetail/Post", result, null, out errorMessage); } return(string.IsNullOrEmpty(errorMessage)); }
/// <summary> /// Check is order can be canceled by id if it doesn't have any autodetected works inside /// </summary> public bool?IsOrderCanBeCanceled(int orderId, string accessToken) { string errorMessage = ""; var canBeCanceled = WebApiWorker.GetResult <bool?>(apiLaborDetail + "/LaborDetail/GetCanCancel/" + orderId, accessToken, out errorMessage); return(canBeCanceled); }
/// <summary> /// Save collection of IOrderViewModel converting to service data type /// Out errorMessage if data id not saved /// </summary> public IEnumerable <IOrderModel> GetActiveOrders(string accessToken, out string errorMessage) { errorMessage = null; var laborDetailFilter = new LaborDetail.Filter(); laborDetailFilter.IsActive = true; List <IOrderModel> result = new List <IOrderModel>(); var orders = WebApiWorker.GetResult <List <LaborDetail.ListItem> >(apiLaborDetail + "/LaborDetail/Get", accessToken, out errorMessage, laborDetailFilter); if (string.IsNullOrEmpty(errorMessage)) { result = ConvertToWorkModel(orders); } return(result); }
/// <summary> /// Load active data from DB converting to List of IWorkOrderModel /// Out errorMessage if data not loaded /// </summary> public IEnumerable <IOrderModel> GetHistoryOrders(int page, IFilterModel filter, string accessToken, out string errorMessage) { errorMessage = null; var laborDetailFilter = filter.ConvertFromModel <LaborDetail.Filter>(); laborDetailFilter.IsActive = false; laborDetailFilter.Page = page; List <IOrderModel> result = new List <IOrderModel>(); var orders = WebApiWorker.GetResult <List <LaborDetail.ListItem> >(apiLaborDetail + "/LaborDetail/Get", accessToken, out errorMessage, laborDetailFilter); if (string.IsNullOrEmpty(errorMessage)) { result = ConvertToWorkModel(orders); } return(result); }
/// <summary> /// Change order status by orderId and statusId /// </summary> public bool ChangeOrderStatus(int LaborDetailID, int StatusID, string accessToken, out string errorMessage) { WebApiWorker.PostData(apiLaborDetail + "/LaborDetail/ChangeStatus", new { LaborDetailID, StatusID }, null, out errorMessage); return(string.IsNullOrEmpty(errorMessage)); }