public GenericResponse GetMyProducts(string userId)
        {
            try
            {
                User           user     = db.Users.Where(u => u.Id == userId).FirstOrDefault();
                List <Product> products = db.Products.Where(l => l.User.Id == user.Id && l.IsDeleted != true).ToList();

                UserProductListDto dto = new UserProductListDto();
                dto.userName = user.Name;
                foreach (var item in products)
                {
                    ProductDto product = new ProductDto(item);
                    dto.products.Add(product);
                }

                GenericResponse response = new GenericResponse();
                response.entity = dto;

                return(response);
            }
            catch (Exception ex)
            {
                ApiLog log = new ApiLog();

                log.Request    = "";
                log.MethodName = "GetMyProducts";
                log.Exception  = ex.ToString();
                log.UserId     = userId;

                db.ApiLog.Add(log);
                db.SaveChanges();

                return(new GenericResponse(ex));
            }
        }
        public GenericResponse GetOtherUsersProducts(string userId)
        {
            try
            {
                List <User> users = db.Users.Include(l => l.Products).Where(u => u.Id != userId && u.IsDeleted != true && u.Products.Count > 0).ToList();

                AllUserProductsDto respDto = new AllUserProductsDto();

                foreach (var u in users)
                {
                    UserProductListDto uProducts = new UserProductListDto();
                    uProducts.userName = u.Name;
                    foreach (var p in u.Products)
                    {
                        ProductDto product = new ProductDto(p);
                        uProducts.products.Add(product);
                    }

                    respDto.allList.Add(uProducts);
                }

                GenericResponse response = new GenericResponse();
                response.entity = respDto;

                return(response);
            }
            catch (Exception ex)
            {
                ApiLog log = new ApiLog();

                log.Request    = "";
                log.MethodName = "GetOtherUsersProducts";
                log.Exception  = ex.ToString();
                log.UserId     = userId;

                db.ApiLog.Add(log);
                db.SaveChanges();

                return(new GenericResponse(ex));
            }
        }