Example #1
0
        //Create search
        public static WebResult <SearchDTO> Create(SearchDTO searchDTO, string passwordUser)
        {
            using (ProjectEntities db = new ProjectEntities())
            {
                searchDTO.dateEnd   = searchDTO.dateEnd.Value.AddDays(1);
                searchDTO.dateStart = searchDTO.dateStart.Value.AddDays(1);
                searchDTO.status    = CheckStatus(searchDTO);

                try
                {
                    searchDTO.codeUser = db.Users.FirstOrDefault(f => f.passwordUser == passwordUser).codeUser;
                    db.Searches.Add(SearchCast.GetSearch(searchDTO));
                    db.SaveChanges();
                    return(new WebResult <SearchDTO>
                    {
                        Message = "יצירת חיפוש בוצעה בהצלחה",
                        Status = true,
                        Value = searchDTO
                    });
                }
                catch (Exception e)
                {
                    return(new WebResult <SearchDTO>()
                    {
                        Message = e.Message,
                        Status = false,
                        Value = null
                    });
                }
            }
        }
Example #2
0
 //Delete search- status changes to 2
 public static WebResult <SearchDTO> Delete(int code)
 {
     using (ProjectEntities db = new ProjectEntities())
     {
         Search search = db.Searches.Find(code);
         if (search == null)
         {
             return new WebResult <SearchDTO>
                    {
                        Message = "לא נמצא חיפוש זה",
                        Status  = false,
                        Value   = null
                    }
         }
         ;
         search.status = (int)EStatus.Deleted;
         db.SaveChanges();
         return(new WebResult <SearchDTO>
         {
             Message = "המחיקה בוצעה בהצלחה",
             Status = true,
             Value = SearchCast.GetSearchDTO(search)
         });
     };
 }
Example #3
0
 public static WebResult <List <SearchDetailsForUser> > SearchByStatus(string passwordUser, EStatus status)
 {
     using (ProjectEntities db = new ProjectEntities())
     {
         User CurrentUser = db.Users.FirstOrDefault(f => f.passwordUser == passwordUser);
         List <SearchDetailsForUser> searchesForUser = new List <SearchDetailsForUser>();
         var searches = SearchCast.GetSearchesDTO(db.Searches.ToList());
         foreach (var search in searches)
         {
             if (search.codeUser == CurrentUser.codeUser && search.status == status)
             {
                 searchesForUser.Add(new SearchDetailsForUser()
                 {
                     CodeSearch   = search.codeSearch,
                     NameProduct  = search.nameProduct,
                     nameCategory = db.Categories.First(f => f.codeCategory == search.codeCategory).nameCategory,
                     Status       = search.status,
                     nameShop     = search.codeShop == null ? "" : db.Shops.First(f => f.codeShop == search.codeShop).nameShop
                 });
             }
         }
         searchesForUser.Reverse();
         return(new WebResult <List <SearchDetailsForUser> >
         {
             Message = "חיפושי המשתמש נשלחו בהצלחה",
             Value = searchesForUser,
             Status = true
         });
     }
 }
Example #4
0
        //Search is found- user bought the product
        public static WebResult <SearchDTO> Found(int codeSearch, string mailShop)
        {
            using (ProjectEntities db = new ProjectEntities())
            {
                Search search = db.Searches.Find(codeSearch);
                if (search == null)
                {
                    return new WebResult <SearchDTO>
                           {
                               Message = "לא נמצא חיפוש זה במאגר",
                               Status  = false,
                               Value   = null
                           }
                }
                ;
                search.status   = (int)EStatus.Found;
                search.codeShop = db.Shops.FirstOrDefault(f => f.mailShop == mailShop).codeShop;
                db.SaveChanges();

                return(new WebResult <SearchDTO>
                {
                    Message = "החיפוש נמצא בהצלחה",
                    Status = true,
                    Value = SearchCast.GetSearchDTO(search)
                });
            }
        }
Example #5
0
        //  הפונקציה מביאה לחנות את כל החיפושים שנמצאו אצלה
        public static WebResult <List <SearchDTO> > getSearchesForShop(int codeShop)
        {
            //בדיקת אבטחה...
            if (codeShop != (HttpContext.Current.Session["Shop"] as Shop).codeShop)
            {
                return new WebResult <List <SearchDTO> >
                       {
                           Message = "שגיאת אבטחה, חנות לא תואמת",
                           Value   = null,
                           Status  = false
                       }
            }
            ;
            List <SearchDTO> searchDTOs = new List <SearchDTO>();

            foreach (var item in db.Searches)
            {
                if (item.status == 1 && item.codeShop == (HttpContext.Current.Session["Shop"] as Shop).codeShop)
                {
                    searchDTOs.Add(SearchCast.GetSearchDTO(item));
                }
            }
            return(new WebResult <List <SearchDTO> >
            {
                Message = "רשימת החיפושים לחנות נשלחה בהצלחה",
                Status = true,
                Value = searchDTOs
            });
        }
Example #6
0
 //Create search
 public static WebResult <SearchDTO> Create(SearchDTO searchDTO, string passwordUser)
 {
     using (ProjectEntities db = new ProjectEntities())
     {
         try
         {
             searchDTO.codeUser = db.Users.FirstOrDefault(f => f.passwordUser == passwordUser).codeUser;
             db.Searches.Add(SearchCast.GetSearch(searchDTO));
             db.SaveChanges();
             return(new WebResult <SearchDTO>
             {
                 Message = "החיפוש הופעל בהצלחה",
                 Status = true,
                 Value = searchDTO
             });
         }
         catch (Exception e)
         {
             return(new WebResult <SearchDTO>()
             {
                 Message = e.Message,
                 Status = false,
                 Value = null
             });
         }
     }
 }
Example #7
0
        //מחיקת חיפוש- המשתמש התחרט
        //החיפוש לא באמת מתבטל אלא הסטטוס משתנה ל2
        public static WebResult <SearchDTO> Delete(int code)
        {
            Search search = db.Searches.Find(code);

            if (search == null)
            {
                return new WebResult <SearchDTO>
                       {
                           Message = "לא נמצא חיפוש זה",
                           Status  = false,
                           Value   = null
                       }
            }
            ;
            if (search.status == 1)
            {
                return new WebResult <SearchDTO>
                       {
                           Message = "אין אפשרות למחו חיפושים שכבר נמצאו",
                           Status  = false,
                           Value   = null
                       }
            }
            ;
            search.status = 2;
            db.SaveChanges();
            return(new WebResult <SearchDTO>
            {
                Message = "המחיקה בוצעה בהצלחה",
                Status = true,
                Value = SearchCast.GetSearchDTO(search)
            });
        }
Example #8
0
        //Returns history of the searches, even thouse the user found
        public static WebResult <List <SearchDetailsForUser> > GetHistory(string passwordUser)
        {
            using (ProjectEntities db = new ProjectEntities())
            {
                string pass        = passwordUser;
                User   CurrentUser = db.Users.FirstOrDefault(f => f.passwordUser == pass);
                if (CurrentUser == null)
                {
                    return(new WebResult <List <SearchDetailsForUser> >
                    {
                        Message = "the user cant find!",
                        Value = null,
                        Status = false
                    });
                }
                List <SearchDetailsForUser> searchesForUser = new List <SearchDetailsForUser>();
                var searches = SearchCast.GetSearchesDTO(db.Searches.ToList());
                foreach (var search in searches)
                {
                    if (search.codeUser == CurrentUser.codeUser && search.status != EStatus.Deleted)
                    {
                        searchesForUser.Add(new SearchDetailsForUser()
                        {
                            CodeSearch     = search.codeSearch,
                            NameProduct    = search.nameProduct,
                            nameCategory   = db.Categories.First(f => f.codeCategory == search.codeCategory).nameCategory,
                            Status         = search.status,
                            dateStart      = search.dateStart,
                            dateEnd        = search.dateEnd,
                            codeShop       = search.codeShop,
                            nameShop       = search.codeShop == null ? "" : db.Shops.First(f => f.codeShop == search.codeShop).nameShop,
                            IsFavoriteShop = search.codeShop == null ? null : db.Shops.First(f => f.codeShop == search.codeShop).isFavorite
                        });
                    }
                }

                string queryString = @"
                        UPDATE Shops
                        SET 
                        Shops.isFavorite = 1
                        FROM Shops
                        INNER JOIN Searches
                        ON Shops.codeShop = Searches.codeShop
                        ";
                int    effected    = db.Database.ExecuteSqlCommand(queryString);

                searchesForUser.Reverse();
                return(new WebResult <List <SearchDetailsForUser> >
                {
                    Message = "חיפושי המשתמש נשלחו בהצלחה",
                    Value = searchesForUser,
                    Status = true
                });
            }
        }
Example #9
0
 public static WebResult <List <SearchDTO> > UpdateavoritesShops()
 {
     using (ProjectEntities db = new ProjectEntities())
     {
         foreach (var s in db.Searches)
         {
         }
         db.SaveChanges();
         return(new WebResult <List <SearchDTO> >
         {
             Message = "רשימת חנויות מועדפות עודכנה בהצלחה",
             Status = true,
             Value = SearchCast.GetSearchesDTO(db.Searches.ToList())
         });
     }
 }
Example #10
0
 public static WebResult <List <SearchDTO> > UpdateAllSearchStatus()
 {
     using (ProjectEntities db = new ProjectEntities())
     {
         foreach (var s in db.Searches)
         {
             UpdateSearchStatus(s.codeSearch, CheckStatus(SearchCast.GetSearchDTO(s)), null);
         }
         db.SaveChanges();
         return(new WebResult <List <SearchDTO> >
         {
             Message = "רשימת מטלות עודכנה בהצלחה",
             Status = true,
             Value = SearchCast.GetSearchesDTO(db.Searches.ToList())
         });
     }
 }
Example #11
0
 //פונקציה שמחזירה למשתמש את כל החיפושים שנמצאו
 public static WebResult <List <SearchDTO> > getfoundSearchesByUserId(int userId)
 {
     if ((HttpContext.Current.Session["User"] as User).codeUser != userId)
     {
         return new WebResult <List <SearchDTO> >
                {
                    Message = "שגיאת אבטחה, משתמש לא תואם",
                    Value   = null,
                    Status  = false
                }
     }
     ;
     return(new WebResult <List <SearchDTO> >
     {
         Message = "חיפושי המשתמש שנמצאו נשלחו בהצלחה",
         Value = SearchCast.GetSearchesDTO(db.Searches.Where(w => w.codeUser == userId && w.status == 1).ToList()),
         Status = true
     });
 }
Example #12
0
        //פונקציה שמחזירה למשתמש את כל החיפושים שלו כולל אלו שמצא
        //מה עדיף? לקבל אובייקט של משתמש או רק המזהה, כי אם נקבל אובייקט נוכל מיד לגשת לרשימה של החיפושים???????????
        public static WebResult <List <SearchDTO> > GetSearchesByUserId()
        {
            if ((HttpContext.Current.Session["User"] as User) == null)
            {
                return new WebResult <List <SearchDTO> >
                       {
                           Message = "שגיאת אבטחה, משתמש לא תואם",
                           Value   = null,
                           Status  = false
                       }
            }
            ;
            User          CurrentUser = HttpContext.Current.Session["User"] as User;
            List <Search> searches    = db.Searches.Where(w => w.codeUser == CurrentUser.codeUser && w.status != 2).ToList();

            return(new WebResult <List <SearchDTO> >
            {
                Message = "חיפושי המשתמש נשלחו בהצלחה",
                Value = SearchCast.GetSearchesDTO(searches),
                Status = true
            });
        }
Example #13
0
        //חיפוש נמצא- אם המשתמש קנה את המוצר
        public static WebResult <SearchDTO> Found(int codeSearch, int codeShop)
        {
            Search search = db.Searches.Find(codeSearch);

            if (search == null)
            {
                return new WebResult <SearchDTO>
                       {
                           Message = "לא נמצא חיפוש זה במאגר",
                           Status  = false,
                           Value   = null
                       }
            }
            ;
            search.status   = 1;
            search.codeShop = codeShop;
            db.SaveChanges();
            return(new WebResult <SearchDTO>
            {
                Message = "החיפוש נמצא בהצלחה",
                Status = true,
                Value = SearchCast.GetSearchDTO(search)
            });
        }
Example #14
0
 //יצירה
 public static WebResult <SearchDTO> Create(SearchDTO searchDTO)
 {
     //אילו בדיקות בודקים??????????????????????
     //Has found תמיד צריך להגיע false
     if (HttpContext.Current.Session["User"] == null)
     {
         return new WebResult <SearchDTO>
                {
                    Message = "לא נמצא משתמש פעיל",
                    Status  = false,
                    Value   = null
                }
     }
     ;
     searchDTO.codeUser = (HttpContext.Current.Session["User"] as User).codeUser;
     db.Searches.Add(SearchCast.GetSearch(searchDTO));
     db.SaveChanges();
     return(new WebResult <SearchDTO>
     {
         Message = "יצירת חיפוש בוצעה בהצלחה",
         Status = true,
         Value = searchDTO
     });
 }