Beispiel #1
0
        //GetCategoryMapDescription
        public JsonExecuteResult GetCategoryMapDescription(long catmap_id)
        {
            List <string>        str     = new List <string>();
            CategoriesMap        cm      = dataContext.CategoriesMaps.SingleOrDefault(CM => CM.ID == catmap_id);
            List <CategoriesMap> catmaps = new List <CategoriesMap>();

            try
            {
                var res = from A in dataContext.Auctions
                          where A.EventCategory.CategoriesMap.ID == catmap_id
                          orderby A.Status
                          group A.Status by A.Status;
                foreach (var r in res)
                {
                    if (r.Count() == 0)
                    {
                        continue;
                    }
                    str.Add(String.Format("{0} {1} auction{2}", r.Count(), ((Consts.AuctionStatus)r.Key).ToString().ToLower(), (r.Count() > 1) ? "s" : String.Empty));
                }
            }
            catch (Exception ex)
            {
                return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, ex.Message));
            }
            return((str.Count() > 0) ? new JsonExecuteResult(JsonExecuteResultTypes.SUCCESS, "", str.ToArray()) : new JsonExecuteResult(JsonExecuteResultTypes.SUCCESS, "There are no auctions in this category.", null));
        }
Beispiel #2
0
        //MergingCategoriesMap
        public JsonExecuteResult MergingCategoriesMap(long cm_from, long cm_to)
        {
            if (cm_from == cm_to)
            {
                return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "Please select different source and destination categories."));
            }
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    CategoriesMap From = dataContext.CategoriesMaps.SingleOrDefault(CM => CM.ID == cm_from);
                    CategoriesMap To   = dataContext.CategoriesMaps.SingleOrDefault(CM => CM.ID == cm_to);
                    if (From == null || To == null)
                    {
                        return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, String.Format("The {0} category doesn't exists", (From == null) ? "source" : "destination")));
                    }
                    List <CategoriesMap> catmaps = new List <CategoriesMap>();

                    List <Event> events = (from A in dataContext.Auctions
                                           where A.EventCategory.CategoriesMap.ID == cm_from
                                           select A.Event).Distinct <Event>().ToList();
                    if (events.Count() == 0)
                    {
                        return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "The are no auctions in the source category for moving to a destination category"));
                    }
                    EventCategory  ec;
                    List <Auction> auctions;
                    foreach (Event evnt in events)
                    {
                        ec = evnt.EventCategories.SingleOrDefault(EC => EC.MainCategory_ID == To.MainCategory_ID && EC.Category_ID == To.Category_ID);
                        if (ec == null)
                        {
                            ec                 = new EventCategory();
                            ec.Category_ID     = To.Category_ID;
                            ec.MainCategory_ID = To.MainCategory_ID;
                            ec.IsActive        = true;
                            ec.LastUpdate      = DateTime.Now;
                            ec.Owner_ID        = AppHelper.CurrentUser.ID;
                            dataContext.EventCategories.InsertOnSubmit(ec);
                            evnt.EventCategories.Add(ec);
                        }
                        auctions = (from A in dataContext.Auctions
                                    where A.EventCategory.Category_ID == From.Category_ID && A.EventCategory.MainCategory_ID == From.MainCategory_ID && A.Event_ID == evnt.ID
                                    select A).ToList();
                        auctions.ForEach(A => A.EventCategory = ec);
                    }
                    GeneralRepository.SubmitChanges(dataContext);
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, ex.Message));
            }
            return(new JsonExecuteResult(JsonExecuteResultTypes.SUCCESS));
        }
 private void GetParentCategoryLink(StringBuilder sb, CategoriesMap cm, bool demo)
 {
     if (cm == null || cm.CategoriesMap_Parent == null || cm.CategoriesMap_Parent.ID == cm.ID)
     {
         return;
     }
     cm = cm.CategoriesMap_Parent;
     sb.Insert(0, "<span>&nbsp;&gt;&nbsp;</span>");
     sb.Insert(0, String.Format("<a href='{0}/?e={2}'>{1}</a>", AppHelper.GetSiteUrl("/" + (demo?"Preview":"Auction") + "/Category/" + cm.ID + "/" + UrlParser.TitleToUrl(cm.Category.Title)), cm.Category.Title, Event_ID));
     GetParentCategoryLink(sb, cm, demo);
 }
 private void GetParentCategory(StringBuilder sb, CategoriesMap cm)
 {
     if (cm == null || cm.Category == null)
     {
         return;
     }
     sb.Insert(0, cm.Category.Title);
     if (cm.CategoriesMap_Parent == null || cm.CategoriesMap_Parent.ID == cm.ID)
     {
         return;
     }
     sb.Insert(0, " > ");
     GetParentCategory(sb, cm.CategoriesMap_Parent);
 }
        //GetCategoryMapById
        public CategoriesMap GetCategoryMapById(long id)
        {
            DataCacheObject dco    = new DataCacheObject(DataCacheType.REFERENCE, DataCacheRegions.CATEGORIES, "GETCATEGORYMAPBYID", new object[] { id }, CachingExpirationTime.Days_01);
            CategoriesMap   result = CacheRepository.Get(dco) as CategoriesMap;

            if (result != null)
            {
                return(result);
            }
            result = dataContext.spSelect_CategoriesMap(id).FirstOrDefault();
            if (result != null)
            {
                dco.Data = result;
                CacheRepository.Add(dco);
            }
            return(result);
        }
Beispiel #6
0
        //AddCategoryChildToEventCategory
        private void AddCategoryChildToEventCategory(Event evnt, CategoriesMap cm)
        {
            EventCategory evnt_cat = dataContext.EventCategories.SingleOrDefault(EC => EC.Event_ID == evnt.ID && EC.MainCategory_ID == cm.MainCategory_ID && EC.Category_ID == cm.Category_ID);

            if (evnt_cat == null)
            {
                evnt_cat = new EventCategory();
                dataContext.EventCategories.InsertOnSubmit(evnt_cat);
            }
            evnt_cat.Category_ID     = cm.Category_ID;
            evnt_cat.MainCategory_ID = cm.MainCategory_ID;
            evnt_cat.IsActive        = true;
            evnt_cat.LastUpdate      = DateTime.Now;
            evnt_cat.Owner_ID        = AppHelper.CurrentUser.ID;
            evnt_cat.Event_ID        = evnt.ID;
            evnt_cat.Descr           = cm.FullCategory; //evnt_cat.FullCategory;
            evnt_cat.Priority        = cm.Priority;
            evnt.EventCategories.Add(evnt_cat);
        }
Beispiel #7
0
 //DeleteCategoryMap
 public JsonExecuteResult DeleteCategoryMap(long catmap_id)
 {
     try
     {
         CategoriesMap cm = (catmap_id == -1) ? null : GetCategoryMap(catmap_id);
         if (cm == null)
         {
             return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "This category map doesn't exists"));
         }
         long count = dataContext.Auctions.Where(EC => EC.EventCategory.MainCategory_ID == cm.MainCategory_ID && EC.EventCategory.Category_ID == cm.Category_ID).Count();
         if (count > 0)
         {
             return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "You can't delete this record because there are auctions which are using this category."));
         }
         dataContext.CategoriesMaps.DeleteOnSubmit(cm);
         GeneralRepository.SubmitChanges(dataContext);
     }
     catch (Exception ex)
     {
         return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, ex.Message));
     }
     return(new JsonExecuteResult(JsonExecuteResultTypes.SUCCESS));
 }
Beispiel #8
0
 //AddSubCategoriesMap
 public void AddSubCategoriesMap(List <CategoriesMap> catmap, CategoriesMap cm)
 {
     catmap.Add(cm);
     // foreach (CategoriesMap _cm in cm.CategoriesMap_Children)
     //  AddSubCategoriesMap(catmap, _cm);
 }
Beispiel #9
0
        //UpdateCategoryMap
        public JsonExecuteResult UpdateCategoryMap(long catmap_id, int maincat_id, long cat_id, string descr, string intro, int priority, bool isactive, bool isdefault)
        {
            try
            {
                MainCategory mc = GetMainCategory(maincat_id);
                Category     c  = GetCategory(cat_id);
                if (mc == null || c == null)
                {
                    return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "The main category or category doesn't exist."));
                }

                bool          newCategory = false;
                CategoriesMap cat         = (catmap_id == -1) ? null : GetCategoryMap(catmap_id);
                if (cat == null)
                {
                    if ((cat = dataContext.CategoriesMaps.Where(CM => CM.MainCategory_ID == mc.ID && CM.Category_ID == c.ID).FirstOrDefault()) != null)
                    {
                        return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "You can't add this record, because the combination of this Main Category and Category already exists - CM# " + cat.ID.ToString()));
                    }
                    cat = new CategoriesMap();
                    dataContext.CategoriesMaps.InsertOnSubmit(cat);
                    newCategory = true;
                }

                cat.MainCategory_ID = maincat_id;
                cat.Category_ID     = cat_id;
                cat.Descr           = String.IsNullOrEmpty(descr) ? mc.Title + " > " + c.Title : descr;
                cat.Intro           = intro;
                cat.IsActive        = isactive;
                cat.Priority        = priority;
                cat.Owner_ID        = AppHelper.CurrentUser.ID;
                cat.LastUpdate      = DateTime.Now;
                cat.IsDefault       = isdefault;

                if (!newCategory && !cat.IsActive)
                {
                    List <CategoriesMap> Cat = dataContext.CategoriesMaps.Where(C => C.Category_ID == cat.ID).ToList();
                    foreach (CategoriesMap cm in Cat)
                    {
                        cm.IsActive = cat.IsActive;
                    }

                    if (dataContext.Auctions.Where(A => A.EventCategory.MainCategory_ID == cat.ID).Count() > 0)
                    {
                        List <string> str = new List <string>();
                        var           res = from A in dataContext.Auctions
                                            where A.EventCategory.MainCategory_ID == cat.ID && A.Status != (byte)Consts.AuctionStatus.Locked
                                            orderby A.Status
                                            group A.Status by A.Status;
                        foreach (var r in res)
                        {
                            if (r.Count() > 0)
                            {
                                str.Add(String.Format("{0} {1} auction{2}", r.Count(), ((Consts.AuctionStatus)r.Key).ToString().ToLower(), (r.Count() > 1) ? "s" : String.Empty));
                            }
                        }
                        if (str.Count() > 0)
                        {
                            return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "You can't set this category as unactive, because there are auctions in the database which are using this category.", str.ToArray()));
                        }
                    }
                }
                if (newCategory)
                {
                    cat.ID = dataContext.MainCategories.Max(E => E.ID) + 1;
                }
                GeneralRepository.SubmitChanges(dataContext);
            }
            catch (Exception ex)
            {
                return(new JsonExecuteResult(JsonExecuteResultTypes.ERROR, ex.Message));
            }
            return(new JsonExecuteResult(JsonExecuteResultTypes.SUCCESS));
        }
        //UpdateCategoryMap
        public JsonExecuteResult UpdateCategoryMap(long catmap_id, int maincat_id, long cat_id, string descr, string intro, int priority, bool isactive, bool isdefault)
        {
            try
              {
            MainCategory mc = GetMainCategory(maincat_id);
            Category c = GetCategory(cat_id);
            if (mc == null || c == null)
              return new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "The main category or category doesn't exist.");

            bool newCategory = false;
            CategoriesMap cat = (catmap_id == -1) ? null : GetCategoryMap(catmap_id);
            if (cat == null)
            {
              if ((cat = dataContext.CategoriesMaps.Where(CM=>CM.MainCategory_ID==mc.ID&&CM.Category_ID==c.ID).FirstOrDefault()) != null)
            return new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "You can't add this record, because the combination of this Main Category and Category already exists - CM# "+cat.ID.ToString());
              cat = new CategoriesMap();
              dataContext.CategoriesMaps.InsertOnSubmit(cat);
              newCategory = true;
            }

            cat.MainCategory_ID = maincat_id;
            cat.Category_ID = cat_id;
            cat.Descr = String.IsNullOrEmpty(descr) ? mc.Title +" > "+c.Title : descr;
            cat.Intro = intro;
            cat.IsActive = isactive;
            cat.Priority = priority;
            cat.Owner_ID = AppHelper.CurrentUser.ID;
            cat.LastUpdate = DateTime.Now;
            cat.IsDefault = isdefault;

            if (!newCategory && !cat.IsActive)
            {
              List<CategoriesMap> Cat = dataContext.CategoriesMaps.Where(C => C.Category_ID == cat.ID).ToList();
              foreach (CategoriesMap cm in Cat)
            cm.IsActive = cat.IsActive;

              if (dataContext.Auctions.Where(A => A.EventCategory.MainCategory_ID == cat.ID).Count() > 0)
              {
            List<string> str = new List<string>();
            var res = from A in dataContext.Auctions
                      where A.EventCategory.MainCategory_ID == cat.ID && A.Status != (byte)Consts.AuctionStatus.Locked
                      orderby A.Status
                      group A.Status by A.Status;
            foreach (var r in res)
            {
              if (r.Count() > 0)
                str.Add(String.Format("{0} {1} auction{2}", r.Count(), ((Consts.AuctionStatus)r.Key).ToString().ToLower(), (r.Count() > 1) ? "s" : String.Empty));
            }
            if (str.Count() > 0)
              return new JsonExecuteResult(JsonExecuteResultTypes.ERROR, "You can't set this category as unactive, because there are auctions in the database which are using this category.", str.ToArray());
              }
            }
            if (newCategory) cat.ID = dataContext.MainCategories.Max(E => E.ID) + 1;
            GeneralRepository.SubmitChanges(dataContext);
              }
              catch (Exception ex)
              {
            return new JsonExecuteResult(JsonExecuteResultTypes.ERROR, ex.Message);
              }
              return new JsonExecuteResult(JsonExecuteResultTypes.SUCCESS);
        }
 //AddSubCategoriesMap
 public void AddSubCategoriesMap(List<CategoriesMap> catmap, CategoriesMap cm)
 {
     catmap.Add(cm);
      // foreach (CategoriesMap _cm in cm.CategoriesMap_Children)
       //  AddSubCategoriesMap(catmap, _cm);
 }
 //AddCategoryChildToEventCategory
 private void AddCategoryChildToEventCategory(Event evnt, CategoriesMap cm)
 {
     EventCategory evnt_cat = dataContext.EventCategories.SingleOrDefault(EC => EC.Event_ID == evnt.ID && EC.MainCategory_ID == cm.MainCategory_ID && EC.Category_ID == cm.Category_ID);
       if (evnt_cat == null)
       {
     evnt_cat = new EventCategory();
     dataContext.EventCategories.InsertOnSubmit(evnt_cat);
       }
       evnt_cat.Category_ID = cm.Category_ID;
       evnt_cat.MainCategory_ID = cm.MainCategory_ID;
       evnt_cat.IsActive = true;
       evnt_cat.LastUpdate = DateTime.Now;
       evnt_cat.Owner_ID = AppHelper.CurrentUser.ID;
       evnt_cat.Event_ID = evnt.ID;
       evnt_cat.Descr = cm.FullCategory; //evnt_cat.FullCategory;
       evnt_cat.Priority = cm.Priority;
       evnt.EventCategories.Add(evnt_cat);
 }