public async Task <IActionResult> GetDownPaymentPDF([FromRoute] int Id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); int timeoffsset = Convert.ToInt32(Request.Headers["x-timezone-offset"]); VbRequestModel model = await _service.ReadByIdAsync(Id); if (model == null) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.NOT_FOUND_STATUS_CODE, General.NOT_FOUND_MESSAGE) .Fail(); return(NotFound(Result)); } else { VbNonPORequestViewModel viewModel = _mapper.Map <VbNonPORequestViewModel>(model); VbNonPORequestPDFTemplate PdfTemplate = new VbNonPORequestPDFTemplate(); MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel, timeoffsset); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = "Permohonan VB Tanpa PO - " + viewModel.VBNo + ".pdf" }); } } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task <ActionResult> Post([FromBody] VbNonPORequestViewModel viewModel) { try { VerifyUser(); _validateService.Validate(viewModel); var model = _mapper.Map <VbRequestModel>(viewModel); await _service.CreateAsync(model, viewModel); await _service.MappingData(viewModel); var result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE).Ok(); return(Created(String.Concat(Request.Path, "/", 0), result)); } catch (ServiceValidationException e) { var result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE).Fail(e); return(BadRequest(result)); } catch (Exception e) { var result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result)); } }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] VbNonPORequestViewModel viewModel) { try { VerifyUser(); _validateService.Validate(viewModel); if (id != viewModel.Id) { var result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE).Fail(); return(BadRequest(result)); } var model = _mapper.Map <VbRequestModel>(viewModel); await _service.UpdateAsync(id, viewModel); return(NoContent()); } catch (ServiceValidationException e) { var result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE).Fail(e); return(BadRequest(result)); } catch (Exception e) { var result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message).Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result)); } }
public Task <int> MappingData(VbNonPORequestViewModel viewModel) { var result = new List <VbRequestDetailModel>(); var myProperty = viewModel.GetType().GetProperties(); int value = int.Parse(dbSet.OrderByDescending(p => p.Id) .Select(r => r.Id) .First().ToString()); foreach (var prop in myProperty.Where(x => x.PropertyType == typeof(bool))) { if ((bool)prop.GetValue(viewModel)) { var item = new VbRequestDetailModel() { VBId = value, UnitName = prop.Name }; if (prop.Name.ToUpper() == "OTHERS") { item.DetailOthers = viewModel.DetailOthers; } EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent); _dbContext.VbRequestsDetails.Add(item); //_dbContext.SaveChangesAsync(); } } return(_dbContext.SaveChangesAsync()); }
public Task <int> CreateAsync(VbRequestModel model, VbNonPORequestViewModel viewmodel) { model.VBNo = GetVbNonPoNo(model); model.VBRequestCategory = "NONPO"; model.Apporve_Status = false; model.Complete_Status = false; model.UnitLoad = GetUnitLoad(viewmodel); EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent); _dbContext.VbRequests.Add(model); return(_dbContext.SaveChangesAsync()); }
public Task <int> UpdateAsync(int id, VbNonPORequestViewModel viewModel) { var model = MappingData2(viewModel); model.VBRequestCategory = "NONPO"; model.UnitLoad = GetUnitLoad(viewModel); model.Apporve_Status = false; model.Complete_Status = false; EntityExtension.FlagForUpdate(model, _identityService.Username, UserAgent); var itemIds = _dbContext.VbRequestsDetails.Where(entity => entity.VBId == id).Select(entity => entity.Id).ToList(); foreach (var itemId in itemIds) { var item = model.VbRequestDetail.FirstOrDefault(element => element.Id == itemId); if (item == null) { var itemToDelete = _dbContext.VbRequestsDetails.FirstOrDefault(entity => entity.Id == itemId); EntityExtension.FlagForDelete(itemToDelete, _identityService.Username, UserAgent); _dbContext.VbRequestsDetails.Update(itemToDelete); } //else //{ // EntityExtension.FlagForUpdate(item, _identityService.Username, UserAgent); // _dbContext.VbRequestsDetails.Update(item); //}// } foreach (var item in model.VbRequestDetail) { if (item.Id <= 0) { EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent); _dbContext.VbRequestsDetails.Add(item); } } _dbContext.VbRequests.Update(model); return(_dbContext.SaveChangesAsync()); }
private string GetUnitLoad(VbNonPORequestViewModel viewmodel) { var UnitLoad = ""; if (viewmodel.Spinning1 == true) { UnitLoad += "Spinning 1, "; } if (viewmodel.Spinning2 == true) { UnitLoad += "Spinning 2, "; } if (viewmodel.Spinning3 == true) { UnitLoad += "Spinning 3, "; } if (viewmodel.Weaving1 == true) { UnitLoad += "Weaving 1, "; } if (viewmodel.Weaving2 == true) { UnitLoad += "Weaving 2, "; } if (viewmodel.Finishing == true) { UnitLoad += "Finishing, "; } if (viewmodel.Printing == true) { UnitLoad += "Printing, "; } if (viewmodel.Konfeksi1A == true) { UnitLoad += "Konfeksi 1A, "; } if (viewmodel.Konfeksi1B == true) { UnitLoad += "Konfeksi 1B, "; } if (viewmodel.Konfeksi2A == true) { UnitLoad += "Konfeksi 2A, "; } if (viewmodel.Konfeksi2B == true) { UnitLoad += "Konfeksi 2B, "; } if (viewmodel.Konfeksi2C == true) { UnitLoad += "Konfeksi 2C, "; } if (viewmodel.Umum == true) { UnitLoad += "Umum, "; } if (viewmodel.Others == true) { UnitLoad += $"{viewmodel.DetailOthers}, "; } UnitLoad = UnitLoad.Remove(UnitLoad.Length - 2); return(UnitLoad); }
public VbRequestModel MappingData2(VbNonPORequestViewModel viewModel) { var listDetail = new List <VbRequestDetailModel>(); var myProperty = viewModel.GetType().GetProperties(); int value = int.Parse(dbSet.OrderByDescending(p => p.Id) .Select(r => r.Id) .First().ToString()); foreach (var prop in myProperty.Where(x => x.PropertyType == typeof(bool))) { if ((bool)prop.GetValue(viewModel)) { var item = new VbRequestDetailModel() { VBId = value, UnitName = prop.Name, LastModifiedBy = viewModel.LastModifiedBy, LastModifiedAgent = viewModel.LastModifiedAgent, DeletedBy = "", DeletedAgent = "", CreatedBy = viewModel.CreatedBy, CreatedAgent = viewModel.CreatedAgent, }; if (prop.Name.ToUpper() == "OTHERS") { item.DetailOthers = viewModel.DetailOthers; } listDetail.Add(item); //EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent); //_dbContext.VbRequestsDetails.Add(item); //_dbContext.SaveChangesAsync(); } } var result = new VbRequestModel() { VbRequestDetail = listDetail, Active = viewModel.Active, Id = viewModel.Id, Date = (DateTimeOffset)viewModel.Date, DateEstimate = (DateTimeOffset)viewModel.DateEstimate, UnitId = viewModel.Unit.Id, UnitCode = viewModel.Unit.Code, UnitName = viewModel.Unit.Name, UnitDivisionId = viewModel.Division.Id, UnitDivisionName = viewModel.Division.Name, VBNo = viewModel.VBNo, CurrencyId = viewModel.Currency.Id, CurrencyCode = viewModel.Currency.Code, CurrencyRate = viewModel.Currency.Rate, CurrencySymbol = viewModel.Currency.Symbol, CurrencyDescription = viewModel.Currency.Description, Amount = viewModel.Amount, Usage = viewModel.Usage, UnitLoad = viewModel.UnitLoad, CreatedBy = viewModel.CreatedBy, CreatedAgent = viewModel.CreatedAgent, LastModifiedAgent = viewModel.LastModifiedAgent, LastModifiedBy = viewModel.LastModifiedBy, LastModifiedUtc = DateTime.Now, CreatedUtc = viewModel.CreatedUtc }; return(result); }
public void Should_Success_Validate_All_Null_Data() { var viewModel = new VbNonPORequestViewModel(); Assert.True(viewModel.Validate(null).Count() > 0); }
public async Task Get_Sales_Receipt_PDF_Success_Currency_Not_IDR_CheckBox_Others_False() { var vm = new VbNonPORequestViewModel() { VBNo = "VBNo", Date = DateTimeOffset.Now, Unit = new Unit() { Id = 1, Code = "Code", Name = "Name", }, Currency = new CurrencyVBRequest() { Id = 1, Code = "IDR", Rate = 1, Symbol = "$", Description = "DOLLAR" }, Amount = 123, Usage = "Usage", Spinning1 = true, Spinning2 = true, Spinning3 = true, Weaving1 = true, Weaving2 = true, Finishing = true, Printing = true, Konfeksi1A = true, Konfeksi1B = true, Konfeksi2A = true, Konfeksi2B = true, Konfeksi2C = true, Umum = true, Others = false, DetailOthers = "", UnitLoad = "Spinning 1" }; var serviceProviderMock = new Mock <IServiceProvider>(); var serviceMock = new Mock <IVbNonPORequestService>(); serviceMock .Setup(service => service.ReadByIdAsync(It.IsAny <int>())) .ReturnsAsync(new VbRequestModel()); serviceProviderMock .Setup(serviceProvider => serviceProvider.GetService(typeof(IVbNonPORequestService))).Returns(serviceMock.Object); var validateServiceMock = new Mock <IValidateService>(); serviceProviderMock .Setup(serviceProvider => serviceProvider.GetService(typeof(IValidateService))).Returns(validateServiceMock.Object); var identityServiceMock = new Mock <IIdentityService>(); serviceProviderMock .Setup(serviceProvider => serviceProvider.GetService(typeof(IIdentityService))).Returns(identityServiceMock.Object); var mapperMock = new Mock <IMapper>(); mapperMock .Setup(mapper => mapper.Map <VbNonPORequestViewModel>(It.IsAny <VbRequestModel>())) .Returns(vm); serviceProviderMock .Setup(serviceProvider => serviceProvider.GetService(typeof(IMapper))).Returns(mapperMock.Object); var controller = GetController(serviceProviderMock.Object); var response = await controller.GetDownPaymentPDF(It.IsAny <int>()); //var statusCode = GetStatusCode(response); Assert.NotNull(response); }