public virtual async Task <string> createOrderAsync(OrderStatusModel orderStatusModel) { OrderStatus orderStatus = new OrderStatus(); orderStatus.CreationDate = DateTime.Now; orderStatus.ModificationDate = DateTime.Now; orderStatus.CustomerId = orderStatusModel.CustomerId; var salesManData = _salesUserRepository.Read(orderStatusModel.SalesManLoginDomain); var checkSalesManId = _salesUserRepository.getSalesManDetails(salesManData.LoginDomain); if (checkSalesManId != null) { orderStatus.SalesManLoginDomain = orderStatusModel.SalesManLoginDomain; } else { throw new CustomException("User is Inactive or not available"); } var checkInventoryStock = _inventoryRepository.checkInventoryData(orderStatusModel.InventoryId); if (checkInventoryStock != null) { orderStatus.InventoryId = orderStatusModel.InventoryId; } else { throw new CustomException(checkInventoryStock.InventoryName + " " + "is not available"); } orderStatus.UnitOrder = orderStatusModel.UnitOrder; orderStatus.Height = orderStatusModel.Height; orderStatus.Weight = orderStatusModel.Weight; if (orderStatusModel.Weight != 0) { orderStatus.PurchaseAmount = checkInventoryStock.Price * orderStatus.Weight; } else { orderStatus.PurchaseAmount = checkInventoryStock.Price * orderStatus.Height; } orderStatus.Status = Constants.placedId; orderStatus.CreatedBy = orderStatusModel.CustomerId; orderStatus.ModifiedBy = orderStatusModel.CustomerId; OrderStatus order = _orderStatusRepository.Create(orderStatus); await _orderStatusRepository.SaveAsync(); OrderStatusModel orderStatusModelData = Mapper.Map <OrderStatus, OrderStatusModel>(order); var leftUnitInStock = (checkInventoryStock.AvailableQuantity - orderStatusModel.UnitOrder); checkInventoryStock.AvailableQuantity = leftUnitInStock; checkInventoryStock.ModificationDate = DateTime.Now; _inventoryRepository.Update(checkInventoryStock); await _inventoryRepository.SaveAsync(); string successMessage = Constants.OrderPlaced + " " + orderStatusModelData.PurchaseAmount; return(successMessage); }
public object getSalesUserById(int userID) { var salesUserData = _salesUserRepository.Read(userID); return(salesUserData); }