public IActionResult PutWithPO([FromRoute] int id, [FromBody] VBRequestDocumentWithPOFormDto form)
        {
            try
            {
                VerifyUser();
                _validateService.Validate(form);

                if (id != form.Id)
                {
                    Dictionary <string, object> Result =
                        new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                        .Fail();
                    return(BadRequest(Result));
                }

                _service.UpdateWithPO(id, form);

                return(NoContent());
            }
            catch (ServiceValidationException e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                    .Fail(e);
                return(BadRequest(Result));
            }
            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 IActionResult PostWithPO([FromBody] VBRequestDocumentWithPOFormDto form)
        {
            try
            {
                VerifyUser();
                _validateService.Validate(form);

                var id = _service.CreateWithPO(form);


                var result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE).Ok();

                return(Created(string.Concat(Request.Path, "/", id), 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 + " " + e.StackTrace)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result));
            }
        }
        public void ShouldhaveError_Validate_When_Data_Null()
        {
            VBRequestDocumentWithPOFormDto dto = new VBRequestDocumentWithPOFormDto();

            var result = dto.Validate(null);

            Assert.True(0 < result.Count());
        }
        public void ShouldHaveError_Validate_Items_when_NoExist_Unit()
        {
            VBRequestDocumentWithPOFormDto dto = new VBRequestDocumentWithPOFormDto()
            {
                Items = new List <VBRequestDocumentWithPOItemFormDto>()
            };

            var result = dto.Validate(null);

            Assert.True(0 < result.Count());
        }
        public void ShouldhaveError_Validate_Items_When_ElementCount_Empty()
        {
            VBRequestDocumentWithPOFormDto dto = new VBRequestDocumentWithPOFormDto()
            {
                Items = new List <VBRequestDocumentWithPOItemFormDto>()
                {
                }
            };

            var result = dto.Validate(null);

            Assert.True(0 < result.Count());
        }
        public void CreateWithPO_Return_Success()
        {
            //Setup
            FinanceDbContext dbContext = _dbContext(GetCurrentAsyncMethod());

            VBRequestDocumentService       service = new VBRequestDocumentService(dbContext, GetServiceProvider().Object);
            VBRequestDocumentWithPOFormDto form    = GetdataUtil(service).GetNewData_VBRequestDocumentWithPOFormDto();
            VBRequestDocumentWithPODto     data    = GetdataUtil(service).GetTestData_VBRequestDocumentWithPO();

            //Act
            int result = service.CreateWithPO(form);

            //Assert
            Assert.NotEqual(0, result);
        }
        public void ShouldHaveError_Validate_When_SuppliantUnitId_Equal_Zero()
        {
            VBRequestDocumentWithPOFormDto dto = new VBRequestDocumentWithPOFormDto()
            {
                SuppliantUnit = new UnitDto()
                {
                    Id = 0
                },
                Items = new List <VBRequestDocumentWithPOItemFormDto>()
            };

            var result = dto.Validate(null);

            Assert.True(0 < result.Count());
        }
예제 #8
0
 public void UpdateFromForm(VBRequestDocumentWithPOFormDto form)
 {
     Date = form.Date.GetValueOrDefault();
     RealizationEstimationDate = form.RealizationEstimationDate.GetValueOrDefault();
     CurrencyId          = form.Currency.Id.GetValueOrDefault();
     CurrencyCode        = form.Currency.Code;
     CurrencySymbol      = form.Currency.Symbol;
     CurrencyRate        = form.Currency.Rate.GetValueOrDefault();
     CurrencyDescription = form.Currency.Description;
     Purpose             = form.Purpose;
     Amount                = form.Amount.GetValueOrDefault();
     SuppliantUnitId       = form.SuppliantUnit.Id.GetValueOrDefault();
     SuppliantUnitCode     = form.SuppliantUnit.Code;
     SuppliantUnitName     = form.SuppliantUnit.Name;
     SuppliantDivisionId   = form.SuppliantUnit.Division.Id.GetValueOrDefault();
     SuppliantDivisionCode = form.SuppliantUnit.Division.Code;
     SuppliantDivisionName = form.SuppliantUnit.Division.Name;
 }
예제 #9
0
        public void ShouldHaveNoError_Validate_Data()
        {
            VBRequestDocumentWithPOFormDto dto = new VBRequestDocumentWithPOFormDto()
            {
                Id       = 1,
                Amount   = 1,
                Currency = new CurrencyDto()
                {
                    Id = 1,
                },
                Date    = DateTimeOffset.Now,
                Purpose = "Purpose",
                RealizationEstimationDate = DateTimeOffset.Now,
                SuppliantUnit             = new UnitDto()
                {
                    Id   = 1,
                    Code = "Code"
                },
                TypePurchasing = "VB",
                Items          = new List <VBRequestDocumentWithPOItemFormDto>()
                {
                    new VBRequestDocumentWithPOItemFormDto()
                    {
                        PurchaseOrderExternal = new PurchaseOrderExternal()
                        {
                            Id    = 1,
                            Items = new List <PurchaseOrderExternalItem>()
                            {
                                new PurchaseOrderExternalItem()
                                {
                                    Id = 1
                                }
                            }
                        }
                    }
                }
            };

            var result = dto.Validate(null);

            Assert.True(0 == result.Count());
        }
        public void ShouldHaveError_Validate_Items_when_PurchaseOrderExternal_Equal_Zero()
        {
            VBRequestDocumentWithPOFormDto dto = new VBRequestDocumentWithPOFormDto()
            {
                Items = new List <VBRequestDocumentWithPOItemFormDto>()
                {
                    new VBRequestDocumentWithPOItemFormDto()
                    {
                        PurchaseOrderExternal = new PurchaseOrderExternal()
                        {
                            Id = 0
                        }
                    }
                }
            };

            var result = dto.Validate(null);

            Assert.True(0 < result.Count());
        }