public async Task <RetailerDbo> GetByStaffMember(int id)
        {
            RetailerDbo item = null;

            try
            {
                Log.Debug($"{nameof(GetByStaffMember)} called on {nameof(RetailerRepository)}, id: \"{id}\"");

                var staffMember = await _context.StaffMembers.Include(x => x.Retailer).SingleOrDefaultAsync(x => x.Id == id);//.Result.Retailer;//

                if (staffMember == null)
                {
                    return(null);
                }

                item = staffMember.Retailer;

                Log.Debug($"{(item == null ? "0" : "1")} item(s) was found in {nameof(RetailerRepository)} for id: \"{id}\"");
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                Log.Error($"Error in method {nameof(GetByStaffMember)} in {nameof(RetailerRepository)}", ex);
            }

            return(item);
        }
        public async Task <RetailerDbo> AddOrUpdate(RetailerDbo retailer)
        {
            try
            {
                Log.Debug($"{nameof(AddOrUpdate)} called on {nameof(RetailerRepository)}");

                _context.Retailers.Update(retailer);
                retailer.Id = await _context.SaveChangesAsync();

                Log.Debug($"Retailer saved in method {nameof(AddOrUpdate)} called on {nameof(RetailerRepository)}");
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                Log.Error($"Error in method {nameof(AddOrUpdate)} in {nameof(RetailerRepository)}");
            }

            return(retailer);
        }
        public async Task <RetailerDbo> Get(int id)
        {
            RetailerDbo item = null;

            try
            {
                Log.Debug($"{nameof(Get)} called on {nameof(RetailerRepository)} with param id of \"{id}\"");

                item = await _context.Retailers.FirstOrDefaultAsync(x => x.Id == id);

                Log.Debug($"{(item == null ? "0" : "1")} item(s) was found in {nameof(RetailerRepository)} for id \"{id}\"");
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                Log.Error($"Error in method {nameof(Get)} in {nameof(RetailerRepository)}", ex);
            }

            return(item);
        }
 public async Task <IEnumerable <StaffMemberDbo> > GetByRetailer(RetailerDbo retailer)
 {
     return(await GetByRetailer(retailer.Id));
 }