En iyi yanıtlayıcılar
WEB APİ

Soru
-
Merhaba oluşturmuş olduğum web api de siparişler tablosunu json olarak alabiliyorum ancak istediğim Musteriler tablosundaki Musterinin Adsoyad kolonunu da getsiparis dediğimde ilgili json çıktısında görünmesi.Örnek json çıktısı
{"Result":true,"Data":[{"SiparisID":1,"MusteriID":1,"Musteriler":null,"Miktar":5,"Urun":"Yoğurt","EklenmeTarihi":"2016-09-01T11:49:00","Tutar":12.50,"Alinan":0.00,"Kalan":0.00,"TeslimDurum":false},{"SiparisID":2,"MusteriID":2,"Musteriler":null,"Miktar":5,"Urun":"Yoğurt","EklenmeTarihi":"2016-09-01T11:49:00","Tutar":14.50,"Alinan":0.00,"Kalan":0.00,"TeslimDurum":false}],"Message":"Success"}
Web api kodum
[RoutePrefix("api/mobil")] public class HomeController : ApiController { UnitOfWork work = new UnitOfWork(); [Route("getall")] public MobileResult GetSiparisler() { MobileResult result = new MobileResult(); result.Result = true; try { var siparisler = work.SiparisRepository.Get(); result.Data = siparisler; result.Message = "Success"; } catch (Exception ex) { result.Result = false; result.Message = ex.Message; } return result; } }
UnitWork
public class UnitOfWork : IDisposable { private static readonly Context context = new Context(); private GenericRepository<MusterilerModel> _musteriRepository; private GenericRepository<SiparisModel> _siparisRepository; public GenericRepository<MusterilerModel> MusteriRepository { get { if (this._musteriRepository == null) { this._musteriRepository = new GenericRepository<MusterilerModel>(context); } return _musteriRepository; } } public GenericRepository<SiparisModel> SiparisRepository { get { if (this._siparisRepository == null) { this._siparisRepository = new GenericRepository<SiparisModel>(context); } return _siparisRepository; } } private bool disposed = false; protected virtual void Dispose(bool disposing) { if (!this.disposed) { if (disposing) { context.Dispose(); } } this.disposed = true; } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } public void Save() { context.SaveChanges(); } public void UndoAll() { context.ChangeTracker.DetectChanges(); var entries = context.ChangeTracker.Entries().Where(e => e.State != EntityState.Unchanged).ToList(); foreach (var dbEntityEntry in entries) { var entity = dbEntityEntry.Entity; if (entity == null) continue; if (dbEntityEntry.State == EntityState.Added) { var set = context.Set(entity.GetType()); set.Remove(entity); } else if (dbEntityEntry.State == EntityState.Modified) { dbEntityEntry.Reload(); } else if (dbEntityEntry.State == EntityState.Deleted) dbEntityEntry.State = EntityState.Modified; } } }
SiparişModelim
[Table("Siparisler")] public class SiparisModel { [Key] public int SiparisID { get; set; } public int MusteriID { get; set; } [ForeignKey("MusteriID")] public virtual MusterilerModel Musteriler { get; set; } public int Miktar { get; set; } public string Urun { get; set; } public DateTime EklenmeTarihi { get; set; } = DateTime.Now; public decimal Tutar { get; set; } public decimal Alinan { get; set; } public decimal Kalan { get; set; } public bool TeslimDurum { get; set; } = false; }
MüşterilerModelim
[Table("Musteriler")] public class MusterilerModel { [Key] public int MusteriID { get; set; } public string AdSoyad { get; set; } public string Telefon { get; set; } public string Semt { get; set; } public string XKoordinat { get; set; } public string YKoordinat { get; set; } public DateTime KayitTarihi { get; set; } = DateTime.Now; public bool isDeleted { get; set; } = false; public virtual ICollection<SiparisModel> Siparis { get; set; } }
MobilResult modelim
public class MobileResult { public bool Result { get; set; } public object Data { get; set; } public string Message { get; set; } }
istediğim sonuç şu şekilde olmalı
{"Result":true,"Data":[{"SiparisID":1,"MusteriID":1,"MusteriAdSoyad":resulgenc,"Miktar":5,"Urun":"Yoğurt","EklenmeTarihi":"2016-09-01T11:49:00","Tutar":12.50,"Alinan":0.00,"Kalan":0.00,"TeslimDurum":false},{"SiparisID":2,"MusteriID":2,"Musteriler":null,"Miktar":5,"Urun":"Yoğurt","EklenmeTarihi":"2016-09-01T11:49:00","Tutar":14.50,"Alinan":0.00,"Kalan":0.00,"TeslimDurum":false}],"Message":"Success"}
Yanıtlar
-
kodun şuna benzemeli
var siparisler = work.SiparisRepository.Get(); var datalist = new ArrayList(); datalist.Add(siparisler); datalist.Add(siparisler.Musteriler); result.Data = datalist; result.Message = "Success";
Fullstack Developer
- Yanıt Olarak İşaretleyen Kyamuran SalibryamMicrosoft contingent staff, Moderator 8 Eylül 2016 Perşembe 07:09
Tüm Yanıtlar
-
var siparisler kısmını şöyle yaparsanız olmalı
var siparisler = from spr in work.SiparisRepository join mst in work.MusteriRepository on spr.MusteriID equals mst.MusteriID select new { SiparisID = spr.SiparisID, MusteriAdi = mst.AdSoyad, Miktar = spr.Miktar, Urun = spr.Urun, EklenmeTarihi = spr.EklenmeTarihi, ... };
-
-
-
-
kodun şuna benzemeli
var siparisler = work.SiparisRepository.Get(); var datalist = new ArrayList(); datalist.Add(siparisler); datalist.Add(siparisler.Musteriler); result.Data = datalist; result.Message = "Success";
Fullstack Developer
- Yanıt Olarak İşaretleyen Kyamuran SalibryamMicrosoft contingent staff, Moderator 8 Eylül 2016 Perşembe 07:09