示例#1
0
        public async Task <Announcement> Create(AnnouncementAddDtos announcementAddDtos, IFormFile Image, IFormFile DetailImage)
        {
            string ImageExtension = Path.GetExtension(Image.FileName);
            string ImageName      = Guid.NewGuid() + ImageExtension;
            string Imagepath      = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/" + ImageName);

            using (var ImageStream = new FileStream(Imagepath, FileMode.Create))
            {
                await Image.CopyToAsync(ImageStream);
            }

            string DetailImageExtension = Path.GetExtension(DetailImage.FileName);
            string DetailImageName      = Guid.NewGuid() + DetailImageExtension;
            string DetailImagePath      = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/" + DetailImageName);

            using (var DetailImageStream = new FileStream(DetailImagePath, FileMode.Create))
            {
                await DetailImage.CopyToAsync(DetailImageStream);
            }

            announcementAddDtos.ImagePath          = ImageName;
            announcementAddDtos.BroadCastingStatus = "Bekliyor";
            announcementAddDtos.DetailImagePath    = DetailImageName;
            announcementAddDtos.Date = DateTime.Now;


            await _announcementDal.AddAsync(_mapper.Map <Announcement>(announcementAddDtos));

            return(null);
        }
        public async Task <BasexResponse <Material> > CreateAsync(Material material, string description)
        {
            try
            {
                material.CreationTime = DateTime.UtcNow;
                var resultMaterial = await _materialDal.AddAsync(material);

                await _unitOfWork.CompleteAsync();

                var announcement = await _announcementDal.AddAsync(new Announcement
                {
                    CreationTime = DateTime.UtcNow,
                    Description  = description,
                    MaterialId   = resultMaterial.Id
                });

                await _unitOfWork.CompleteAsync();

                resultMaterial.AnnouncementId = announcement.Id;
                await _materialDal.UpdateAsync(resultMaterial, resultMaterial.Id);

                await _unitOfWork.CompleteAsync();

                return(new BasexResponse <Material>(material));
            }
            catch (Exception ex)
            {
                return(new BasexResponse <Material>(ex.Message));
            }
        }