public async Task <IActionResult> UpdateWorkshopReparation([FromBody] Reparation reparation)
        {
            _log.Info("Calling update workshop reparation endpoint");

            if (reparation.Id == default)
            {
                reparation.Id = Guid.NewGuid().ToString();
                await _repository.NewReparation(reparation);
            }
            else
            {
                try
                {
                    await _repository.UpdateWorkshopReparation(reparation);

                    await _repository.UpdateDateStatus(reparation.PlateNumber, reparation.Status);
                }
                catch (ArgumentException e)
                {
                    _log.Error("Reparation with the provided id does not exists");
                    return(Forbid());
                }
            }

            return(Ok());
        }
Пример #2
0
        public async Task <IActionResult> NewUserDate([FromBody] Date date)
        {
            _log.Info("Calling new user date endpoint...");

            try
            {
                await _repository.NewDate(date);
            }
            catch (ArgumentException)
            {
                _log.Error("The provided vehicle already has a date");
                return(BadRequest());
            }

            var reparation = new Reparation
            {
                Id          = Guid.NewGuid().ToString(),
                WorkshopId  = date.WorkshopId,
                PlateNumber = date.PlateNumber,
                Date        = date.ReparationDate,
                Type        = date.Reason,
                Status      = date.Status,
                Details     = new List <string>()
            };
            await _repository.NewReparation(reparation);

            return(Ok());
        }
Пример #3
0
        async Task PopulateReparations()
        {
            var id     = "e462fe80-63e3-4130-8128-eed38527dd2f";
            var result = await _repository.GetReparationById(id);

            if (result == null)
            {
                var reparation = new Reparation
                {
                    Id          = id,
                    WorkshopId  = "1",
                    Date        = DateTime.UtcNow.Ticks,
                    PlateNumber = "1234ABC",
                    Type        = ReparationType.Reparation,
                    Status      = ReparationStatus.Repairing
                };
                await _repository.NewReparation(reparation);
            }

            id     = "8cee76b3-6ed9-4fd5-af23-8a641c3dac63";
            result = await _repository.GetReparationById(id);

            if (result == null)
            {
                var reparation = new Reparation
                {
                    Id          = id,
                    WorkshopId  = "1",
                    AirFilter   = true,
                    Date        = DateTime.UtcNow.AddMonths(-1).Ticks,
                    GasFilter   = true,
                    PlateNumber = "1234ABC",
                    Type        = ReparationType.Maintenance,
                    Status      = ReparationStatus.Completed,
                    Details     = new List <string>
                    {
                        "Changed oil filter",
                        "Changed oil",
                        "Changed gas filter",
                        "Other minor reparations"
                    }
                };
                await _repository.NewReparation(reparation);
            }
        }