public virtual async Task <VBRequestDocumentModel> GetTestData() { VBRequestDocumentModel model = GetNewData(); await service.CreateAsync(model); return(model); }
public VBRealizationDocumentModel(DateTimeOffset?date, VBRequestDocumentModel vbRequest, Tuple <string, int> documentNo, decimal amount, string remark) { Date = date.GetValueOrDefault(); Type = VBType.WithPO; DocumentType = RealizationDocumentType.WithVB; Index = documentNo.Item2; DocumentNo = documentNo.Item1; Amount = amount; CurrencyCode = vbRequest.CurrencyCode; CurrencyDescription = vbRequest.CurrencyDescription; CurrencyId = vbRequest.CurrencyId; CurrencyRate = vbRequest.CurrencyRate; CurrencySymbol = vbRequest.CurrencySymbol; SuppliantDivisionCode = vbRequest.SuppliantDivisionCode; SuppliantDivisionId = vbRequest.SuppliantDivisionId; SuppliantDivisionName = vbRequest.SuppliantDivisionName; SuppliantUnitCode = vbRequest.SuppliantUnitCode; SuppliantUnitId = vbRequest.SuppliantUnitId; SuppliantUnitName = vbRequest.SuppliantUnitName; VBRequestDocumentAmount = vbRequest.Amount; VBRequestDocumentCreatedBy = vbRequest.CreatedBy; VBRequestDocumentDate = vbRequest.Date; VBRequestDocumentId = vbRequest.Id; VBRequestDocumentNo = vbRequest.DocumentNo; VBRequestDocumentRealizationEstimationDate = vbRequest.RealizationEstimationDate; VBRequestDocumentPurpose = vbRequest.Purpose; Position = VBRealizationPosition.Purchasing; Remark = remark; }
public Task <int> CreateAsync(VBRequestDocumentModel model) { EntityExtension.FlagForCreate(model, _IdentityService.Username, _UserAgent); _DbContext.VBRequestDocuments.Add(model); return(_DbContext.SaveChangesAsync()); }
public VBRequestDocumentModel GetTestData_VBRequestDocument() { var data = new VBRequestDocumentModel("documentNo", DateTimeOffset.Now, DateTimeOffset.Now, 1, "suppliantUnitCode", "suppliantUnitName", 1, "suppliantDivisionCode", "suppliantDivisionName", 1, "currencyCode", "currencySymbol", "currencyDescription", 1, "purpose", 1, true, true, VBType.NonPO, true, "noBI", "noPo", "typePurchasing"); dbContext.VBRequestDocuments.Add(data); dbContext.SaveChanges(); return(data); }
public void should_success_instantiate() { VBRequestDocumentModel model = new VBRequestDocumentModel(); model.SetCurrency(1, "IDR", "Rp", 2, "description", "user", "userAgent"); model.SetAmount(1, "user", "userAgent"); model.SetPurpose("newPurpose", "user", "userAgent"); }
//public int CreateNonPO(VBRequestDocumentNonPOFormDto form) public async Task <int> CreateNonPO(VBRequestDocumentNonPOFormDto form) { var internalTransaction = _dbContext.Database.CurrentTransaction == null; var transaction = !internalTransaction ? _dbContext.Database.CurrentTransaction : _dbContext.Database.BeginTransaction(); try { var existingData = _dbContext.VBRequestDocuments.Where(a => a.Date.AddHours(_identityService.TimezoneOffset).Month == form.Date.GetValueOrDefault().AddHours(_identityService.TimezoneOffset).Month).OrderByDescending(s => s.Index).FirstOrDefault(); var documentNo = GetDocumentNo(form, existingData); var model = new VBRequestDocumentModel( documentNo.Item1, form.Date.GetValueOrDefault(), form.RealizationEstimationDate.GetValueOrDefault(), form.SuppliantUnit.Id.GetValueOrDefault(), form.SuppliantUnit.Code, form.SuppliantUnit.Name, form.SuppliantUnit.Division.Id.GetValueOrDefault(), form.SuppliantUnit.Division.Code, form.SuppliantUnit.Division.Name, form.Currency.Id.GetValueOrDefault(), form.Currency.Code, form.Currency.Symbol, form.Currency.Description, form.Currency.Rate.GetValueOrDefault(), form.Purpose, form.Amount.GetValueOrDefault(), false, false, VBType.NonPO, documentNo.Item2, form.IsInklaring ); model.FlagForCreate(_identityService.Username, UserAgent); _dbContext.VBRequestDocuments.Add(model); await _dbContext.SaveChangesAsync(); var items = AddNonPOItems(model.Id, form.Items); _dbContext.VBRequestDocumentItems.AddRange(items); await _dbContext.SaveChangesAsync(); if (internalTransaction) { transaction.Commit(); } return(model.Id); } catch (Exception ex) { if (internalTransaction) { transaction.Rollback(); } throw ex; } }
public void ReadByIdAsync_Return_Success() { FinanceDbContext dbContext = _dbContext(GetCurrentAsyncMethod()); VBRealizationDocumentExpeditionService service = new VBRealizationDocumentExpeditionService(dbContext, GetServiceProvider().Object); VBRequestDocumentModel model = _dataUtil(service, dbContext).GetTestData_VBRequestDocument(); var result = service.ReadByIdAsync(model.Id); Assert.NotNull(result); }
public void Update(VBRequestDocumentModel vbRequest) { VBRequestDocumentAmount = vbRequest.Amount; VBRequestDocumentCreatedBy = vbRequest.CreatedBy; VBRequestDocumentDate = vbRequest.Date; VBRequestDocumentId = vbRequest.Id; VBRequestDocumentNo = vbRequest.DocumentNo; VBRequestDocumentRealizationEstimationDate = vbRequest.RealizationEstimationDate; VBRequestDocumentPurpose = vbRequest.Purpose; }
public VBRequestDocumentModel GetNewData() { VBRequestDocumentModel TestData = new VBRequestDocumentModel() { Id = 1, CreatedBy = "CreatedBy", }; return(TestData); }
public async Task ClearanceVBPost_Return_Success() { FinanceDbContext dbContext = _dbContext(GetCurrentAsyncMethod()); VBRealizationDocumentExpeditionService service = new VBRealizationDocumentExpeditionService(dbContext, GetServiceProvider().Object); VBRequestDocumentModel model = _dataUtil(service, dbContext).GetTestData_VBRequestDocument(); List <ClearancePostId> postIds = new List <ClearancePostId>(); ClearancePostId postId = new ClearancePostId(); postId.VBRealizationId = 0; postId.VBRequestId = 1; postIds.Add(postId); var result = await service.ClearanceVBPost(postIds); Assert.NotEqual(0, result); }
public int CreateWithPO(VBRequestDocumentWithPOFormDto form) { var unitCode = GetDocumentUnitCode(form.SuppliantUnit.Division.Name.ToUpper(), form.IsInklaring); var existingData = _dbContext.VBRequestDocuments.Where(a => a.Date.AddHours(_identityService.TimezoneOffset).Month == form.Date.GetValueOrDefault().AddHours(_identityService.TimezoneOffset).Month&& a.DocumentNo.StartsWith(unitCode)).OrderByDescending(s => s.Index).FirstOrDefault(); var documentNo = GetDocumentNo(form, existingData); var model = new VBRequestDocumentModel( documentNo.Item1, form.Date.GetValueOrDefault(), form.RealizationEstimationDate.GetValueOrDefault(), form.SuppliantUnit.Id.GetValueOrDefault(), form.SuppliantUnit.Code, form.SuppliantUnit.Name, form.SuppliantUnit.Division.Id.GetValueOrDefault(), form.SuppliantUnit.Division.Code, form.SuppliantUnit.Division.Name, form.Currency.Id.GetValueOrDefault(), form.Currency.Code, form.Currency.Symbol, form.Currency.Description, form.Currency.Rate.GetValueOrDefault(), form.Purpose, form.Amount.GetValueOrDefault(), false, false, VBType.WithPO, documentNo.Item2, form.IsInklaring, null, // NoBL null, // NoPO form.TypePurchasing ); EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent); _dbContext.VBRequestDocuments.Add(model); _dbContext.SaveChanges(); AddItems(model.Id, form.Items); return(model.Id); }
public async Task ClearanceVBPost2_Return_Success() { FinanceDbContext dbContext = _dbContext(GetCurrentAsyncMethod()); VBRealizationDocumentExpeditionService service = new VBRealizationDocumentExpeditionService(dbContext, GetServiceProvider().Object); VBRequestDocumentModel model = _dataUtil(service, dbContext).GetTestData_VBRequestDocument(); List <ClearancePostId> postIds = new List <ClearancePostId>(); ClearancePostId postId = new ClearancePostId(); postId.VBRealizationId = 0; postId.VBRequestId = 1; postIds.Add(postId); ClearanceFormDto clearanceForm = new ClearanceFormDto(); clearanceForm.Bank = new Lib.ViewModels.NewIntegrationViewModel.AccountBankViewModel { AccountCOA = "", AccountName = "", AccountNumber = "", BankCode = "", BankName = "", Code = "", Currency = new Lib.ViewModels.NewIntegrationViewModel.CurrencyViewModel { Code = "", Description = "", Id = 1, Rate = 1, Symbol = "" }, Id = 1 }; clearanceForm.ListIds = postIds; var result = await service.ClearanceVBPost(clearanceForm); Assert.NotEqual(0, result); }
private Tuple <string, int> GetDocumentNo(VBRequestDocumentWithPOFormDto form, VBRequestDocumentModel existingData) { var now = form.Date.GetValueOrDefault().AddHours(_identityService.TimezoneOffset); var year = now.ToString("yy"); var month = now.ToString("MM"); //var unit = model.UnitCode.ToString().Split(" - "); var unitCode = "T"; if (form.SuppliantUnit.Division.Name.ToUpper() == "GARMENT") { unitCode = "G"; } var documentNo = $"VB-{unitCode}-{month}{year}-"; var index = 1; if (existingData != null) { index = existingData.Index + 1; } documentNo += string.Format("{0:000}", index); return(new Tuple <string, int>(documentNo, index)); }
private Tuple <string, int> GetDocumentNo(VBRequestDocumentNonPOFormDto form, VBRequestDocumentModel existingData) { var now = form.Date.GetValueOrDefault().AddHours(_identityService.TimezoneOffset); var year = now.ToString("yy"); var month = now.ToString("MM"); //var unit = model.UnitCode.ToString().Split(" - "); var unitCode = "T"; if (form.SuppliantUnit.Division.Name.ToUpper() == "GARMENT") { unitCode = "G"; } if (form.IsInklaring) { unitCode += "I"; } var documentNo = $"VB-{unitCode}-{month}{year}-"; var index = 1; if (existingData != null) { index = existingData.Index + 1; } documentNo += string.Format("{0:000}", index); //var countSameDocumentNo = _dbContext.VBRequestDocuments.IgnoreQueryFilters().Where(a => a.Date.AddHours(_identityService.TimezoneOffset).Month == form.Date.GetValueOrDefault().AddHours(_identityService.TimezoneOffset).Month).Count(); //if (countSameDocumentNo >= 0) //{ // countSameDocumentNo += 1; // documentNo += string.Format("{0:000}", countSameDocumentNo); //} return(new Tuple <string, int>(documentNo, index)); }
private VBRequestDocumentNonPODto MapToNonPODTO(VBRequestDocumentModel model, List <VBRequestDocumentItemModel> items) { return(new VBRequestDocumentNonPODto() { Active = model.Active, Amount = model.Amount, DocumentNo = model.DocumentNo, IsApproved = model.ApprovalStatus == ApprovalStatus.Approved, ApprovalStatus = model.ApprovalStatus.ToString(), CreatedAgent = model.CreatedAgent, Items = items.Select(s => new VBRequestDocumentNonPOItemDto() { IsSelected = s.IsSelected, Unit = new UnitDto() { Code = s.UnitCode, Division = new DivisionDto() { Code = s.DivisionCode, Id = s.DivisionId, Name = s.DivisionName }, Name = s.UnitName, Id = s.UnitId, VBDocumentLayoutOrder = s.VBDocumentLayoutOrder }, Id = s.Id, Active = s.Active, CreatedAgent = s.CreatedAgent, CreatedBy = s.CreatedBy, CreatedUtc = s.CreatedUtc, IsDeleted = s.IsDeleted, LastModifiedAgent = s.LastModifiedAgent, LastModifiedBy = s.LastModifiedBy, LastModifiedUtc = s.LastModifiedUtc }).ToList(), LastModifiedUtc = model.LastModifiedUtc, LastModifiedBy = model.LastModifiedBy, LastModifiedAgent = model.LastModifiedAgent, IsDeleted = model.IsDeleted, CreatedUtc = model.CreatedUtc, CreatedBy = model.CreatedBy, Currency = new CurrencyDto() { Code = model.CurrencyCode, Description = model.CurrencyDescription, Id = model.CurrencyId, Rate = model.CurrencyRate, Symbol = model.CurrencySymbol }, Id = model.Id, Date = model.Date, Purpose = model.Purpose, RealizationEstimationDate = model.RealizationEstimationDate, SuppliantUnit = new UnitDto() { Id = model.SuppliantUnitId, Code = model.SuppliantUnitCode, Name = model.SuppliantUnitName, Division = new DivisionDto() { Name = model.SuppliantDivisionName, Code = model.SuppliantDivisionCode, Id = model.SuppliantDivisionId } }, IsInklaring = model.IsInklaring, NoBL = model.NoBL, NoPO = model.NoPO }); }
public virtual void UpdateAsync(long id, VBRequestDocumentModel model) { EntityExtension.FlagForUpdate(model, _IdentityService.Username, _UserAgent); _RequestDbSet.Update(model); }