there is a problem adding entity in .net core

88 views Asked by At

i have a problem in adding entity to database in .net core.all of my code execute with no error but any record inserts in database this is my adding service below

        public async Task<int> AddHpl(IFormFile ClinicImgUp, AddHealthPlaceViewModel addHealthPlaceViewModel)
    {
        TableHpl tableHpl = new TableHpl
        {
            TabloTitle = addHealthPlaceViewModel.TabloTitle,
            Address = addHealthPlaceViewModel.Address,
            Services = addHealthPlaceViewModel.Services,
            Others = addHealthPlaceViewModel.Others,
            Personels = addHealthPlaceViewModel.Personels,
            CityCode = addHealthPlaceViewModel.CityCode,
            Recid = addHealthPlaceViewModel.Recid,
            Telegram = addHealthPlaceViewModel.Telegram,
            Email = addHealthPlaceViewModel.Email,
            Website = addHealthPlaceViewModel.Website,
            Instagram = addHealthPlaceViewModel.Instagram,
            PlaceCode = addHealthPlaceViewModel.PlaceCode,
            TableHplphones = new List<TableHplphone>
            {
                new TableHplphone
                {
                    Mobile = addHealthPlaceViewModel.Hplphones[0].Mobile,
                    OfficePhone = addHealthPlaceViewModel.Hplphones[0].OfficePhone
                },
                new TableHplphone
                {
                    Mobile = addHealthPlaceViewModel.Hplphones[1].Mobile,
                    OfficePhone = addHealthPlaceViewModel.Hplphones[1].OfficePhone
                }
            }
        };
        if (ClinicImgUp != null && ClinicImgUp.IsImage())
        {

            tableHpl.OfficePic = NameGenerator.GenerateUniqCode() + Path.GetExtension(ClinicImgUp.FileName);
            string imagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img", tableHpl.OfficePic);
            await using var stream = new FileStream(imagePath, FileMode.Create);
            ImageResizer.ResizeImage(ClinicImgUp, stream);
        }

        await _context.TableHpls.AddAsync(tableHpl);
        return tableHpl.Hplid;
    }

any help will be highly appreciated

1

There are 1 answers

5
Serge On BEST ANSWER

replace

 await _context.TableHpls.AddAsync(tableHpl);

with this

 _context.TableHpls.Add(tableHpl);
await _context.SaveChangesAsync();

And I think you have to add some validation too:

 TableHpl tableHpl = new TableHpl
        {
            TabloTitle = addHealthPlaceViewModel.TabloTitle,
            Address = addHealthPlaceViewModel.Address,
            Services = addHealthPlaceViewModel.Services,
            Others = addHealthPlaceViewModel.Others,
            Personels = addHealthPlaceViewModel.Personels,
            CityCode = addHealthPlaceViewModel.CityCode,
            Recid = addHealthPlaceViewModel.Recid,
            Telegram = addHealthPlaceViewModel.Telegram,
            Email = addHealthPlaceViewModel.Email,
            Website = addHealthPlaceViewModel.Website,
            Instagram = addHealthPlaceViewModel.Instagram,
            PlaceCode = addHealthPlaceViewModel.PlaceCode
        };
if (addHealthPlaceViewModel.Hplphones!=null &&
     addHealthPlaceViewModel.Hplphones.Count > 0
{
 var tableHplphones = new List<TableHplphone>();

   foreach(var phone in addHealthPlaceViewModel.Hplphones)
     {
     
             tableHplphones.Add(  new TableHplphone
                {
                    Mobile = item.Mobile,
                    OfficePhone = item.OfficePhone
                }
           );
      }

tableHpl.TableHplphones=tableHplphones;
}