Exemple #1
0
        public async Task <IActionResult> EditDriver(int id, [FromForm] DriverCreationDto driverDto)
        {
            var driverFromRepo = await _context.Drivers.FirstOrDefaultAsync(x => x.Id == id);

            if (driverFromRepo.Status == "Approved")
            {
                return(BadRequest("You cannot edit an approved License"));
            }

            DriverReturnFiles driverFilesInString = new DriverReturnFiles();

            if (driverDto.Document != null)
            {
                using (var ms = new MemoryStream())
                {
                    driverDto.Document.CopyTo(ms);
                    var fileBytes = ms.ToArray();
                    driverFilesInString.Document = Convert.ToBase64String(fileBytes);
                }
            }

            if (driverDto.OneDayDoc != null)
            {
                using (var ms1 = new MemoryStream())
                {
                    driverDto.OneDayDoc.CopyTo(ms1);
                    var fileBytes = ms1.ToArray();
                    driverFilesInString.OneDayDoc = Convert.ToBase64String(fileBytes);
                }
            }

            if (driverDto.Photo != null)
            {
                using (var ms2 = new MemoryStream())
                {
                    driverDto.Photo.CopyTo(ms2);
                    var fileBytes = ms2.ToArray();
                    driverFilesInString.Photo = Convert.ToBase64String(fileBytes);
                }
            }


            var driverNormalData = _mapper.Map <DriverReturnData>(driverDto);
            var driverFilesData  = _mapper.Map <Driver>(driverFilesInString);

            driverFilesData.Id = driverFromRepo.Id;
            var driverToUpdate = _mapper.Map(driverNormalData, driverFilesData);
            var dataToReturn   = _mapper.Map(driverToUpdate, driverFromRepo);

            if (await _context.SaveChangesAsync() > 0)
            {
                return(Ok(dataToReturn));
            }
            return(BadRequest("Update failed"));
        }
Exemple #2
0
        public async Task <IActionResult> AddDriver([FromForm] DriverCreationDto driverDto)
        {
            DriverReturnFiles driverFilesDto = new DriverReturnFiles();

            if (driverDto.Document != null)
            {
                using (var ms = new MemoryStream())
                {
                    driverDto.Document.CopyTo(ms);
                    var fileBytes = ms.ToArray();
                    driverFilesDto.Document = Convert.ToBase64String(fileBytes);
                }
            }

            if (driverDto.OneDayDoc != null)
            {
                using (var ms1 = new MemoryStream())
                {
                    driverDto.OneDayDoc.CopyTo(ms1);
                    var fileBytes = ms1.ToArray();
                    driverFilesDto.OneDayDoc = Convert.ToBase64String(fileBytes);
                }
            }

            if (driverDto.Photo != null)
            {
                using (var ms2 = new MemoryStream())
                {
                    driverDto.Photo.CopyTo(ms2);
                    var fileBytes = ms2.ToArray();
                    driverFilesDto.Photo = Convert.ToBase64String(fileBytes);
                }
            }

            var drivertoSave   = _mapper.Map <DriverReturnData>(driverDto);
            var drivertoSave2  = _mapper.Map <Driver>(driverFilesDto);
            var driverToCreate = _mapper.Map(drivertoSave, drivertoSave2);

            await _context.AddAsync(driverToCreate);

            await _context.SaveChangesAsync();

            return(Ok(new{ message = "Created Successfully" }));
        }
Exemple #3
0
        public async Task <IActionResult> AddDriver([FromForm] DriverCreationDto driverDto)
        {
            var dataWithoutFiles    = _mapper.Map <DriverReturnData>(driverDto);
            var dataWithoutFilesAdd = _mapper.Map <Driver>(dataWithoutFiles);
            await _context.AddAsync(dataWithoutFilesAdd);

            var result = await _context.SaveChangesAsync() > 0;

            if (result == false)
            {
                return(BadRequest("Could not add the driver details"));
            }
            var id = dataWithoutFilesAdd.Id;

            DriverReturnFiles driverFilesDto = new DriverReturnFiles();

            if (driverDto.Document != null)
            {
                string ext      = System.IO.Path.GetExtension(driverDto.Document.FileName);
                string filename = "doc" + id.ToString() + ext;

                string filepath = "wwwroot/assets/" + filename;
                using (var fileStream = new FileStream(filepath, FileMode.Create))
                {
                    await driverDto.Document.CopyToAsync(fileStream);
                }
                driverFilesDto.Document = filename;
            }

            if (driverDto.OneDayDoc != null && driverDto.TrainingPeriod == 1)
            {
                string ext      = System.IO.Path.GetExtension(driverDto.OneDayDoc.FileName);
                string filename = "cer" + id.ToString() + ext;

                string filepath = "wwwroot/assets/" + filename;
                using (var fileStream = new FileStream(filepath, FileMode.Create))
                {
                    await driverDto.OneDayDoc.CopyToAsync(fileStream);
                }
                driverFilesDto.OneDayDoc = filename;
            }

            if (driverDto.Photo != null)
            {
                string ext      = System.IO.Path.GetExtension(driverDto.Photo.FileName);
                string filename = "img" + id.ToString() + ext;

                string filepath = "wwwroot/assets/" + filename;
                using (var fileStream = new FileStream(filepath, FileMode.Create))
                {
                    await driverDto.Photo.CopyToAsync(fileStream);
                }
                driverFilesDto.Photo = filename;
            }

            _mapper.Map(driverFilesDto, dataWithoutFilesAdd);
            result = await _context.SaveChangesAsync() > 0;

            if (result == false)
            {
                await DeleteDriver(dataWithoutFilesAdd.Id);

                return(BadRequest("Error in saving files ,Could not add the driver details"));
            }

            var r = DoPayment(dataWithoutFilesAdd.Id, dataWithoutFiles.Created, dataWithoutFiles.Amount);

            if (await r)
            {
                return(Ok());
            }
            return(BadRequest("Error saving Data"));
        }