コード例 #1
0
        public IActionResult CreateReceipt([FromBody] JObject data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Receipt model = data["receipt"].ToObject <Receipt>();

            _service.Add(model);
            return(Ok(model));
        }
コード例 #2
0
        public async Task <ActionResult <Receipt> > CreateReceipt(PostReceipt receipt)
        {
            try
            {
                var getDriver = await _driverRepo.GetDriverById(receipt.DriverId);

                var getParkingspot = await _spotRepo.GetparkingspotById(receipt.ParkingspotId);

                Receipt entity = new Receipt
                {
                    RegistrationTime = DateTime.Now,
                    Driver           = getDriver,
                    Parkingspot      = getParkingspot
                };

                _repo.Add(entity);
                if (await _repo.Save())
                {
                    return(Created($"/api/v1.0/Receipts/{entity.ReceiptId}", new Receipt
                    {
                        ReceiptId = entity.ReceiptId,
                        RegistrationTime = entity.RegistrationTime,
                        Driver = entity.Driver,
                        Parkingspot = entity.Parkingspot
                    }));
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database failure{e.Message}"));
            }
        }
コード例 #3
0
        public IHttpActionResult AddNewUserReceipt(string userName, NewReceiptModel receipt)
        {
            if (!ModelState.IsValid)
            {
                var message = responseService.ModelStateErrorsToString(ModelState);
                return(BadRequest(message));
            }

            string tokenName = this.authService.GetUserName(this.User);

            if (!tokenName.Equals(userName))
            {
                return(Unauthorized());
            }

            if (!controlSumService.ValidateReceiptControlSum(receipt))
            {
                return(BadRequest("Wrong control sum. (Server - " + controlSumService.ReceiptProductsSum(receipt) +
                                  ", Sent - " + receipt.ControlSum + ")"));
            }

            string userId = this.authService.GetUserId(this.User);

            repository.Add(userId, receipt.MapToDomainReceipt());

            return(Ok());
        }
コード例 #4
0
        public IActionResult Add(Receipt receiptToAdd)
        {
            if (!_receiptRepository.Add(receiptToAdd))
            {
                return(Forbid());
            }

            return(Ok());
        }
コード例 #5
0
        public async Task <CommandResult> Handle(CreateBasicReceiptCommand request,
                                                 CancellationToken cancellationToken)
        {
            var receipt = new Receipt(request.Date, request.CampaignId, request.Description);

            receipt.AddTags(request.Tags);
            receipt.AddItem(Receipt.DefaultItemTitle, request.TotalAmount);
            await _receiptRepository.Add(receipt);

            return(CommandResult.GetSuccessResult());
        }
コード例 #6
0
        public async Task <IActionResult> Post(List <IFormFile> files, int transactionId)
        {
            long size = files.Sum(f => f.Length);

            foreach (var formFile in files)
            {
                if (formFile.Length > 0)
                {
                    var filePath = Path.Combine(
                        Directory.GetCurrentDirectory(), "wwwroot",
                        formFile.FileName);

                    List <(string, string)> receipts = ImageParser.FormatString(ImageParser.ParseImage(formFile.FileName));


                    using (var stream = new FileStream(filePath, FileMode.Create)) {
                        await formFile.CopyToAsync(stream);
                    }

                    foreach (var item in receipts)
                    {
                        Random random          = new Random(DateTime.Now.Second);
                        var    rec             = new Receipt();
                        var    personGenerator = new PersonNameGenerator();
                        rec.CO2Impact     = random.Next();
                        rec.Company       = personGenerator.GenerateRandomFirstAndLastName();
                        rec.TransactionId = transactionId;
                        rec.ReceiptCode   = Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Substring(0, 8);;
                        rec.ReceiptId     = random.Next();

                        await _receiptRepository.Add(rec);

                        // await _db.Receipts.AddAsync(rec);
                        // await _db.SaveChangesAsync();
                    }
                }
            }

            return(Ok(new { count = files.Count, size, transactionId }));
        }
コード例 #7
0
 public void AddRecipt(Receipt receipt)
 {
     _receiptRepository.Add(receipt);
 }
コード例 #8
0
 public Receipt Add(Receipt receipt)
 {
     return(_receiptRepository.Add(receipt));
 }
コード例 #9
0
 public void Add(Receipt receipt)
 {
     _repo.Add(receipt);
 }
コード例 #10
0
 public void Create(ReceiptViewModel model)
 {
     receiptRepository.Add(mapper.Map(model, new Receipt()));
     receiptRepository.SaveChanges();
 }