public List<InventoryOperation> NotifySubmittingCharterOutStart(CharterOut charterOutStart) { return new List<InventoryOperation>(new InventoryOperation[] { new InventoryOperation( "INV# - " +DateTime.Now.Ticks, DateTime.Now, InventoryActionType.Issue, (long? )null, (long? )null)}); }
public List<InventoryOperation> NotifySubmittingCharterOutStart(CharterOut charterOutStart) { try { return new List<InventoryOperation>() { this.inventoryOperationManager.ManageCharterOutStart(charterOutStart, //TODO: Fake ActorId 1101) }; } catch { throw; } }
//================================================================================ public InventoryOperation ManageCharterOutStart(CharterOut charterOutStart, int userId) { if (charterOutStart.CharterType != CharterType.Start) throw new InvalidArgument("The given entity is not Charter Out Start", "charterOutStart"); using (var dbContext = new InventoryDbContext()) { using (var transaction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)) { //try //{ // dbContext.Database.ExecuteSqlCommand( // TransactionalBehavior.EnsureTransaction, // "dbo.[IssueItemPricesOperation]"); //} //catch (Exception) //{ // throw; //} InventoryOperation result = null; var reference = findInventoryOperationReference(dbContext, InventoryOperationType.Issue, CHARTER_OUT_START_ISSUE, charterOutStart.Id.ToString()); //if (reference.OperationId == INVALID_ID) if (reference == null) { string transactionCode, transactionMessage; var operationReference = issue( dbContext, (int)charterOutStart.VesselInCompany.CompanyId, (int)charterOutStart.VesselInCompany.VesselInInventory.Id, 1, convertCharterOutTypeToStoreType(charterOutStart), null, CHARTER_OUT_START_ISSUE, charterOutStart.Id.ToString(), userId, out transactionCode, out transactionMessage); string transactionItemMessage; var transactionItems = new List<TransactionItem>(); foreach (var charterItem in charterOutStart.CharterItems) { transactionItems.Add(new TransactionItem() { GoodId = (int)charterItem.Good.SharedGoodId, CreateDate = DateTime.Now, Description = "Charter Out Start > " + charterItem.Good.Code, QuantityAmount = charterItem.Rob, QuantityUnitId = getMeasurementUnitId(dbContext, charterItem.GoodUnit.Abbreviation), TransactionId = (int)operationReference.OperationId, UserCreatorId = userId }); } var registeredTransactionIds = addTransactionItems(dbContext, (int)operationReference.OperationId, transactionItems, userId, out transactionItemMessage); string issuedItemsPricingMessage; var pricingTransactionIds = registeredTransactionIds.Select(id => new TransactionItemPricingId() { Id = id, Description = "Charter-Out Start FIFO Pricing" }); priceIssuedItemsInFIFO(dbContext, pricingTransactionIds, userId, out issuedItemsPricingMessage, CHARTER_OUT_START_ISSUE_PRICING, charterOutStart.Id.ToString()); deactivateWarehouse(dbContext, (int)charterOutStart.VesselInCompany.VesselInInventory.Id, userId); result = new InventoryOperation( inventoryOperationId: operationReference.OperationId, actionNumber: string.Format("{0}/{1}", (InventoryOperationType)operationReference.OperationType, operationReference.OperationId), actionDate: DateTime.Now, actionType: InventoryActionType.Issue, fuelReportDetailId: null, charterId: null); } else { throw new InvalidOperation("CharterOutStart disapprovement", "CharterOutStart disapprovement is invalid."); var transactionItems = dbContext.TransactionItems.Where(ti => ti.TransactionId == reference.OperationId); } transaction.Commit(); return result; } } }
//================================================================================ public List<InventoryOperation> ManageCharterOutEnd(CharterOut charterOutEnd, int userId) { if (charterOutEnd.CharterType != CharterType.End) throw new InvalidArgument("The given entity is not Charter Out End", "charterOutEnd"); using (var dbContext = new InventoryDbContext()) { using (var transaction = new TransactionScope()) { var reference = findInventoryOperationReference(dbContext, InventoryOperationType.Receipt, CHARTER_IN_START_RECEIPT, charterOutEnd.Id.ToString()); //if (reference.OperationId == INVALID_ID) if (reference == null) { } else { var transactionItems = dbContext.TransactionItems.Where(ti => ti.TransactionId == reference.OperationId); } } } return null; }
private int convertCharterOutTypeToStoreType(CharterOut charterOut) { switch (charterOut.CharterType) { case CharterType.Start: return 9; case CharterType.End: return 8; default: throw new ArgumentOutOfRangeException(); } }
public List<InventoryOperation> NotifySubmittingCharterOutStart(CharterOut charterOutStart) { var charterOutDto = charterOutToDtoMapper.MapToDtoModel(charterOutStart); charterOutDto.CharterType = CharterType.Out; charterOutDto.CharterItems = new ObservableCollection<CharterItemDto>(charterOutStart.CharterItems.Select(charterItemToDtoMapper.MapToDtoModel)); //var inventoryOperationDtosResult = svc.NotifySubmittingCharterOutStart(charterOutDto).ToList(); //var result = inventoryOperationDtosResult.Select(mapInventoryOperationDtoToInventoryOperation); //return result.ToList(); var syncEvent = new AutoResetEvent(false); List<InventoryOperation> callResult = null; Exception callException = null; ClientHelper.Post<List<FuelReportInventoryOperationDto>, CharterDto> //(new Uri("http://localhost:65234/api/fuelevents", UriKind.Absolute), //(new Uri("http://evaluation-srv:9090/api/fuelevents", UriKind.Absolute), (MessageBrokerApiUri, (result, exp) => { callException = exp; if (result != null) callResult = result.Select(mapInventoryOperationDtoToInventoryOperation).ToList(); syncEvent.Set(); //if (exp != null) tcs.TrySetException(exp); //else if (result != null) //{ // var mappedResult = result.Select(mapInventoryOperationDtoToInventoryOperation).ToList(); // tcs.TrySetResult(mappedResult); //} }, charterOutDto, ClientHelper.MessageFormat.Json, new Dictionary<string, string>(), "CharterDto"); /////var inventoryOperationDtosResult.Select(mapInventoryOperationDtoToInventoryOperation).ToList(); syncEvent.WaitOne(); if (callException != null) throw callException; return callResult; }
public List<InventoryOperation> NotifySubmittingCharterOutStart(CharterOut charterOutStart) { //var charterOutDto = charterOutToDtoMapper.MapToDtoModel(charterOutStart); //charterOutDto.CharterType = "Out"; //charterOutDto.CharterItems = charterOutStart.CharterItems.Select(charterItemToDtoMapper.MapToDtoModel).ToList(); //var inventoryOperationDtosResult = svc.NotifySubmittingCharterOutStart(charterOutDto).ToList(); //var result = inventoryOperationDtosResult.Select(mapInventoryOperationDtoToInventoryOperation); //return result.ToList(); return null; }