Esempio n. 1
0
        public static void calculateNewChanges(IFlyMiningEntityDI fDb, SiteContent _siteSelector)
        {
            maintenceRatePerTHsEUR = Settings.maintenceRatePerTHsEUR;
            rateBTCEUR             = Math.Round(Convert.ToDecimal(Wallets.getEURrateNow("BTC").Result), 2);
            maintenceRatePerTHsBTC = maintenceRatePerTHsEUR / rateBTCEUR;
            statisticalData statData = new statisticalData();

            try
            {
                statData       = fDb.statisticalDatas.Single(t => t.Names == "maintenceRatePerTHsBTC");
                statData.Value = maintenceRatePerTHsBTC.ToString();
                statData       = fDb.statisticalDatas.Single(t => t.Names == "BTCRateEUR");
                statData.Value = rateBTCEUR.ToString();
                statData       = fDb.statisticalDatas.Single(t => t.Names == "difficultyRaise");
                statData.Value = WebApi.getDifficulty().Result;
                fDb.SaveChanges();
                CryptoCompareInfo.getCryptoInfo();
            }
            catch (Exception ex)
            {
                Logger.AddLogRecord("Error on dayly Income. StatData:" + Convert.ToString(ex));
            }
            RsContractTable(fDb, _siteSelector);
            IncomeValidation(fDb, _siteSelector);
            exportIncome(fDb, _siteSelector);
        }
Esempio n. 2
0
 protected override void GenerateUrlNodes(SiteContent content = null)
 {
     WriteUrlLocation("sitemap.xml", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("blog", UpdateFrequency.Daily, DateTime.Now);
     WriteBlogs(content?.Blogs);
     WriteUrlLocation("blog/search", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("albums", UpdateFrequency.Weekly, DateTime.Now);
     WriteAlbums(content?.PhotoAlbums);
     WriteUrlLocation("music", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("music/search", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("music/playlists", UpdateFrequency.Weekly, DateTime.Now);
     WritePlaylists(content?.Playlists);
     WriteUrlLocation("music/tabs", UpdateFrequency.Weekly, DateTime.Now);
     WriteBookmarks(content?.Tabs);
     WriteUrlLocation("projects", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("art", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("contact", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("code", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("bookmarks", UpdateFrequency.Weekly, DateTime.Now);
     WriteBookmarks(content?.Bookmarks);
     WriteUrlLocation("bookmarks/search", UpdateFrequency.Weekly, DateTime.Now);
     WriteUrlLocation("tags", UpdateFrequency.Weekly, DateTime.Now);
     WriteTags(content?.Tags);
     WriteUrlLocation("store", UpdateFrequency.Weekly, DateTime.Now);
 }
        public IHttpActionResult PutSiteContent(int id, SiteContent siteContent)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != siteContent.ID)
            {
                return(BadRequest());
            }

            db.Entry(siteContent).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SiteContentExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
 /// <summary>
 /// This will build an xml sitemap for better index with search engines.
 /// See http://en.wikipedia.org/wiki/Sitemaps for more information.
 /// </summary>
 /// <param name="rootUrl">Root domain url, i.e. http://www.intuitiveshopping.com</param>
 /// <returns>Sitemap.xml as string</returns>
 public string Generate(string rootUrl, SiteContent content = null)
 {
     using (MemoryStream stream = new MemoryStream())
     {
         Generate(stream, rootUrl, content);
         return(Encoding.UTF8.GetString(stream.ToArray()));
     }
 }
Esempio n. 5
0
 public SiteContent GetByID(int id = 0)
 {
     SiteContent content = new SiteContent();
     try {
         CurtDevDataContext db = new CurtDevDataContext();
         content = db.SiteContents.Where(x => x.contentID == id && x.websiteID.Equals(this.websiteID)).First<SiteContent>();
     } catch {}
     return content;
 }
Esempio n. 6
0
        //
        // GET: /Index/
        public ActionResult Index()
        {
            // Get the homepage content
            SiteContent home_content = new SiteContent();
            home_content = CompanyModel.GetHomeContent();
            ViewBag.home_content = home_content;

            return View();
        }
Esempio n. 7
0
 public static SiteContent Get(int id = 0)
 {
     SiteContent content = new SiteContent();
     try {
         CurtDevDataContext db = new CurtDevDataContext();
         content = db.SiteContents.Where(x => x.contentID == id).First<SiteContent>();
     } catch {}
     return content;
 }
Esempio n. 8
0
        public ActionResult Index()
        {
            using (DatisEntities de = new DatisEntities())
            {
                SiteContent sc = de.SiteContents.Where(m => m.ArticleType == (int)DatisEnums.ArticleType.Projects).FirstOrDefault();

                return(View(sc));
            }
        }
Esempio n. 9
0
        //
        // GET: /About/
        public ActionResult Index()
        {
            // Get the About Us content entry for the database
            SiteContent about_content = new SiteContent();
            eLocalDataContext db = new eLocalDataContext();
            about_content = db.SiteContents.Where(x => x.page_title == "About").FirstOrDefault<SiteContent>();
            ViewBag.content = about_content;

            return View();
        }
Esempio n. 10
0
        public async Task <IActionResult> AddSiteContent(SiteContent item)
        {
            item.LastUpdated = DateTime.Now.Date;
            item.UpdatedBy   = "user";
            await _context.SiteContents.AddAsync(item);

            await _context.SaveChangesAsync();

            return(RedirectToAction("SiteContentsList"));
        }
        public IHttpActionResult GetSiteContent(int id)
        {
            SiteContent siteContent = db.SiteContent.Find(id);

            if (siteContent == null)
            {
                return(NotFound());
            }

            return(Ok(siteContent));
        }
Esempio n. 12
0
        public void ValidatePermalink([FromBody] SiteContent content)
        {
            var existingContent = _cmsService.GetSiteContent(new SiteContentRequest()
            {
                Permalink = content.Permalink
            });

            if (existingContent != null && existingContent.SiteContentStatusID != (int)ContentStatus.Removed && existingContent.SiteContentID != content.SiteContentID)
            {
                throw new Exception("Permalink already exists");
            }
        }
        public IHttpActionResult PostSiteContent(SiteContent siteContent)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.SiteContent.Add(siteContent);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = siteContent.ID }, siteContent));
        }
Esempio n. 14
0
        public async Task <IActionResult> EditSiteContent(SiteContent item)
        {
            var model = await _context.SiteContents.SingleOrDefaultAsync(b => b.Id == item.Id);

            await TryUpdateModelAsync(model);

            model.LastUpdated = DateTime.Now.Date;
            model.UpdatedBy   = "user";
            await _context.SaveChangesAsync();

            return(RedirectToAction("SiteContentsList"));
        }
Esempio n. 15
0
 public static SiteContent GetHomeContent()
 {
     try {
         eLocalDataContext db = new eLocalDataContext();
         SiteContent home = db.SiteContents.Where(x => x.page_title == "Home").FirstOrDefault<SiteContent>();
         if (home == null) {
             home = new SiteContent();
         }
         return home;
     } catch (Exception) {
         return new SiteContent();
     }
 }
Esempio n. 16
0
        public SiteContent GetContentByKey(String key)
        {
            SiteContent sc = repo.GetContextById(key);

            if (sc == null)
            {
                return(new SiteContent());
            }
            else
            {
                return(sc);
            }
        }
Esempio n. 17
0
 public bool UpdateSiteContent(SiteContent sc)
 {
     if (context.SiteContents.Any(csc => csc.IdKey == sc.IdKey && csc.Value != sc.Value))
     {
         context.Entry(sc).State = System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
         return(true);
     }
     else
     {
         return(false);
     }
 }
        public IHttpActionResult DeleteSiteContent(int id)
        {
            SiteContent siteContent = db.SiteContent.Find(id);

            if (siteContent == null)
            {
                return(NotFound());
            }

            db.SiteContent.Remove(siteContent);
            db.SaveChanges();

            return(Ok(siteContent));
        }
Esempio n. 19
0
 public SiteContent AddSiteContent(SiteContent sc)
 {
     try
     {
         SiteContent sc2 = context.SiteContents.Add(sc);
         context.SaveChanges();
         return(sc2);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         return(null);
     }
 }
Esempio n. 20
0
 static void RsContractTable(IFlyMiningEntityDI fDb, SiteContent _siteSelector)
 {
     try
     {
         var contractRsDataList = fDb.RsBankNewContracts.Where(t => !t.Bill_Id.HasValue || fDb.Users_Bills.Any(x => x.Id == t.Bill_Id && x.BillStatusId == 4));
         var contractList       = Settings.ContractList(fDb, _siteSelector);
         var userBillsList      = Settings.UserBillsList(fDb, _siteSelector, false);
         var operList           = fDb.RsBankMaintBalanceOpers;
         var maintBalance       = fDb.UserMaintenanceBalanceOperations;
         foreach (Contract contract in contractList.ToList())
         {
             if (contractRsDataList.Any(t => t.ContractID == contract.id && t.Referral == false && t.ContractStatus != contract.Status))
             {
                 List <RsBankNewContract> rowList = contractRsDataList.Where(t => t.ContractID == contract.id && t.Referral == false && t.ContractStatus != contract.Status).ToList();
                 foreach (RsBankNewContract row in rowList)
                 {
                     row.ContractStatus = contract.Status;
                 }
             }
         }
         foreach (UserMaintenanceBalanceOperation maintRow in maintBalance.ToList())
         {
             if (operList.Any(t => t.OperID == maintRow.id && t.OperStatus != maintRow.Status))
             {
                 foreach (RsBankMaintBalanceOper row in operList.Where(t => t.OperID == maintRow.id && t.OperStatus != maintRow.Status).ToList())
                 {
                     row.OperStatus = maintRow.Status;
                 }
             }
             if (!operList.Any(t => t.OperID == maintRow.id))
             {
                 UserProfile2 currentUser = fDb.UserProfile2.Single(t => t.Id == maintRow.UserId);
                 if (currentUser.MaintenanceBalanceId == null || currentUser.MaintenanceBalanceId == "")
                 {
                     currentUser.MaintenanceBalanceId = Guid.NewGuid().ToString();
                 }
                 Users_Bills bill = userBillsList.SingleOrDefault(t => t.BalanceId == maintRow.id);
                 if (bill != null)
                 {
                     fDb.RsBankMaintBalanceOpers.Add(new RsBankMaintBalanceOper(maintRow, "PlaceHolder", currentUser.RsBankId));
                 }
             }
         }
         fDb.SaveChanges();
     }
     catch (Exception ex)
     {
         Logger.AddLogRecord("RsContractTable +" + Convert.ToString(ex));
     }
 }
Esempio n. 21
0
 public bool DeleteSiteContent(SiteContent sc)
 {
     try
     {
         context.SiteContents.Remove(sc);
         context.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         return(false);
     }
 }
Esempio n. 22
0
        public static bool GetPage(string page_title = "")
        {
            try {
                eLocalDataContext db = new eLocalDataContext();
                SiteContent sc = new SiteContent();

                sc = db.SiteContents.Where(x => x.page_title == page_title).FirstOrDefault<SiteContent>();
                if (sc != null && sc.content_text.Length > 0) {
                    return true;
                }
                return false;
            } catch (Exception) {
                return false;
            }
        }
Esempio n. 23
0
        public static async Task <Dictionary <string, string> > Execute(SiteContent content, bool export = false)
        {
            try
            {
                var result = new Dictionary <string, string>();
                var routes = Route.GetRoutes(content);
                await GetContent(routes, export);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 24
0
        static void IncomeValidation(IFlyMiningEntityDI fDB, SiteContent _siteSelector)
        {
            var exportList = Settings.exportHistoryAll(fDB, _siteSelector).Where(t => (!t.Confirmed.HasValue || t.Confirmed.Value == false) &&
                                                                                 fDB.Contracts.Any(x => x.id == t.ContractID && (x.Status == 4 || x.Status == 7)));

            if (exportList.Any())
            {
                foreach (ExportHistory export in exportList.ToList())
                {
                    export.Confirmed = true;
                }
                fDB.SaveChanges();
            }
            var exportPurgeList = Settings.exportHistoryAll(fDB, _siteSelector).Where(t => (t.Confirmed.HasValue && t.Confirmed.Value == true) &&
                                                                                      fDB.Contracts.Any(x => x.id == t.ContractID && (x.Status != 4 && x.Status != 7 && x.Status != 8 && x.Status != 9)));

            if (exportPurgeList.Any())
            {
                foreach (ExportHistory export in exportPurgeList.ToList())
                {
                    export.Confirmed = false;
                }
                fDB.SaveChanges();
            }
            var maintPurgeList = Settings.mainHistoryAll(fDB, _siteSelector).Where(t => (!t.Confirmed.HasValue || t.Confirmed == true) && fDB.Contracts.Any(x => x.id == t.ContractID &&
                                                                                                                                                            (x.Status != 4 && x.Status != 7 && x.Status != 8 && x.Status != 9)));

            if (maintPurgeList.Any())
            {
                foreach (MaintenanceHistory maint in maintPurgeList.ToList())
                {
                    maint.Confirmed = false;
                }
                fDB.SaveChanges();
            }
            var maintList = Settings.mainHistoryAll(fDB, _siteSelector).Where(t => (!t.Confirmed.HasValue || t.Confirmed == false) &&
                                                                              fDB.Contracts.Any(x => x.id == t.ContractID && (x.Status == 4 || x.Status == 7)));

            if (maintList.Any())
            {
                foreach (MaintenanceHistory maint in maintList.ToList())
                {
                    maint.Confirmed = true;
                }
                fDB.SaveChanges();
            }
        }
        /// <summary>
        /// This will build an xml sitemap for better index with search engines.
        /// See http://en.wikipedia.org/wiki/Sitemaps for more information.
        /// </summary>
        /// <param name="stream">Stream of sitemap.</param>
        /// <param name="rootUrl">Root domain url, i.e. http://www.intuitiveshopping.com</param>
        public void Generate(Stream stream, string rootUrl, SiteContent content = null)
        {
            _rootUrl           = rootUrl.TrimEnd('/', '\\');
            _writer            = new XmlTextWriter(stream, Encoding.UTF8);
            _writer.Formatting = Formatting.Indented;
            _writer.WriteStartDocument();
            _writer.WriteStartElement("urlset");
            _writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
            _writer.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
            _writer.WriteAttributeString("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd");

            WriteUrlLocation("", UpdateFrequency.Weekly, DateTime.Now);
            GenerateUrlNodes(content);

            _writer.WriteEndElement();
            _writer.Close();
        }
Esempio n. 26
0
        public SiteContent SaveSiteContent(SiteContent siteContent)
        {
            var updatedSiteContent = Context.UpdateGraph(siteContent,
                                                         map => map.AssociatedCollection(s => s.ProfileTypes)
                                                         .AssociatedCollection(a => a.Affiliates)
                                                         .OwnedCollection(v => v.Versions, z => z.AssociatedCollection(a => a.Affiliates))
                                                         .OwnedCollection(k => k.KnowledgeLibraries));

            Save();

            if (siteContent.SiteContentID <= 0)
            {
                siteContent.SiteContentID = updatedSiteContent.SiteContentID;
            }

            return(siteContent);
        }
Esempio n. 27
0
        public static MvcHtmlString ContentLink(this HtmlHelper helper, SiteContent content, object htmlAttributes = null)
        {
            var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes) as IDictionary <string, object>;

            var tag = new TagBuilder("a");

            tag.SetInnerText(content.Title);
            tag.MergeAttributes(attributes);
            tag.Attributes["href"] = content.Permalink;

            if (content.ContentType == ContentType.File)
            {
                tag.Attributes["target"] = "_blank";
            }

            return(MvcHtmlString.Create(tag.ToString()));
        }
Esempio n. 28
0
 public ActionResult Details(int id)
 {
     using (DatisEntities de = new DatisEntities())
     {
         SiteContent sc  = de.SiteContents.FirstOrDefault(m => m.ArticleType == (int)DatisEnums.ArticleType.Technology && m.Id == id);
         var         res = new ArticleDetailasVM()
         {
             Id      = sc.Id,
             Title   = sc.Title,
             Details = sc.Article,
             Files   = de.Files.Where(m => m.ForeignId == sc.Id && m.TableId == (int)DatisEnums.TableId.Technology)
                       .Select(n => new { n.Path, n.Name })
                       .AsEnumerable()
                       .Select(n => new Tuple <string, string>(n.Path, n.Name))
                       .ToList()
         };
         return(View(res));
     }
 }
Esempio n. 29
0
 /// <summary>
 /// Generates an XML site map.
 /// </summary>
 /// <param name="siteContent">The site content with pre-rendered HTML.</param>
 /// <param name="outputPath">The local output path to write the site map.</param>
 /// <param name="baseUrl">The base Url to use in generating the site map.</param>
 /// <returns></returns>
 private static string MapSite(SiteContent siteContent, string outputPath, string baseUrl)
 {
     try
     {
         var siteMapGenerator = new SitemapGenerator();
         var siteMap1         = siteMapGenerator.Generate(baseUrl, siteContent);
         var siteMapPath      = $"{outputPath}\\sitemap.xml";
         using (var writer = new StreamWriter(siteMapPath))
         {
             writer.WriteLine(siteMap1);
         }
         return(siteMapPath);
     }
     catch (Exception ex)
     {
         Console.WriteLine($"Error while mapping site: {ex.Message} - {ex.StackTrace}");
         throw;
     }
 }
Esempio n. 30
0
        private SiteMapItem GetSiteMapItem(SiteContent content, List <SiteContent> contents)
        {
            var item = new SiteMapItem()
            {
                SiteContentID       = content.SiteContentID,
                SiteContentParentID = content.SiteContentParentID,
                Title         = content.Title,
                Url           = content.Permalink,
                IconCssClass  = content.MenuIconCssClass,
                IsMenuVisible = content.MenuVisible
            };

            foreach (var childItem in contents.Where(s => s.SiteContentParentID == content.SiteContentID).Select(child => GetSiteMapItem(child, contents)))
            {
                item.Children.Add(childItem);
            }

            return(item);
        }
Esempio n. 31
0
 public ActionResult Save(SiteContent siteContentModel)
 {
     //var a = Request.Form[0];
     if (!ModelState.IsValid)
     {
         var result = new
         {
             success = false,
             message = Utils.GetModelStateErrorList(ModelState)
         };
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
     else
     {
         using (DatisEntities de = new DatisEntities())
         {
             if (siteContentModel.Id > 0)
             {
                 //var record = PradaEntities.AnalogBoxes.Where(m => m.Id == analogBoxModel.Id).FirstOrDefault();
                 //record = analogBoxModel;
                 try
                 {
                     siteContentModel.ArticleType     = (int)DatisEnums.ArticleType.Projects;
                     de.Entry(siteContentModel).State = System.Data.Entity.EntityState.Modified;
                     de.SaveChanges();
                 }
                 catch (DbEntityValidationException e)
                 {
                     foreach (var eve in e.EntityValidationErrors)
                     {
                         //Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                         //    eve.Entry.Entity.GetType().Name, eve.Entry.State);
                         foreach (var ve in eve.ValidationErrors)
                         {
                             var result1 = new
                             {
                                 success = false,
                                 message = ve.PropertyName + ve.ErrorMessage
                             };
                             //Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                             //    ve.PropertyName, ve.ErrorMessage);
                         }
                     }
                     throw;
                 }
                 var result = new
                 {
                     success = true,
                     message = "ویرایش اطلاعات با موفقیت انجام شد",
                     data    = new { Id = siteContentModel.Id }
                 };
                 return(Json(result, JsonRequestBehavior.AllowGet));
             }
             else
             {
                 siteContentModel.ArticleType = (int)DatisEnums.ArticleType.Projects;
                 de.SiteContents.Add(siteContentModel);
                 de.SaveChanges();
                 var result = new
                 {
                     success = true,
                     message = "ثبت اطلاعات با موفقیت انجام شد",
                     data    = new { Id = siteContentModel.Id }
                 };
                 return(Json(result, JsonRequestBehavior.AllowGet));
             }
         }
     }
 }
Esempio n. 32
0
        public async Task <SiteContent> GetContent()
        {
            try
            {
                var contentTypes = Enum.GetValues(typeof(ContentType));
                Dictionary <string, AttributeValue> lastKeyEvaluated = null;
                var siteContent     = new SiteContent();
                var blogs           = new List <Blog>();
                var bookmarks       = new List <Bookmark>();
                var tabs            = new List <Bookmark>();
                var photoAlbums     = new List <PhotoAlbum>();
                var playlists       = new List <Playlist>();
                var tags            = new List <Models.Tag>();
                var blogViews       = new List <Blog>();
                var photoAlbumViews = new List <PhotoAlbum>();
                var playlistViews   = new List <Playlist>();
                var statistics      = new List <ContentCount>();

                foreach (var contentType in contentTypes)
                {
                    var cType = (ContentType)contentType;

                    do
                    {
                        var request = new QueryRequest
                        {
                            TableName = _tableName,
                            KeyConditionExpression    = "ContentType = :ContentType",
                            ExpressionAttributeValues = new Dictionary <string, AttributeValue>
                            {
                                {
                                    ":ContentType", new AttributeValue {
                                        S = cType.ToString()
                                    }
                                }
                            },
                            ScanIndexForward = false
                        };

                        if (lastKeyEvaluated != null && lastKeyEvaluated.Any())
                        {
                            request.ExclusiveStartKey = lastKeyEvaluated;
                        }

                        var response = await _client.QueryAsync(request);

                        lastKeyEvaluated = response.LastEvaluatedKey;

                        if (response?.Items == null || !response.Items.Any())
                        {
                            continue;
                        }

                        var inactiveItems = 0;

                        foreach (var item in response.Items)
                        {
                            switch (cType)
                            {
                            case ContentType.Blog:

                                var b = MapItemToBlog(item);

                                if (b.isActive.HasValue && !b.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                blogs.Add(b);

                                break;

                            case ContentType.Bookmark:

                                var bo = MapItemToBookmark(item);

                                if (bo.isActive.HasValue && !bo.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                bookmarks.Add(bo);

                                break;

                            case ContentType.Tab:

                                var t = MapItemToBookmark(item);

                                if (t.isActive.HasValue && !t.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                tabs.Add(t);

                                break;

                            case ContentType.Message:
                                break;

                            case ContentType.PhotoAlbum:

                                var a = MapItemToPhotoAlbum(item);

                                if (a.isActive.HasValue && !a.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                photoAlbums.Add(a);

                                break;

                            case ContentType.Playlist:

                                var p = MapItemToPlaylist(item);

                                if (p.isActive.HasValue && !p.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                playlists.Add(p);

                                break;

                            case ContentType.Tag:

                                var tag = MapItemToTag(item);
                                tags.Add(tag);

                                break;

                            case ContentType.BlogView:

                                var bv = MapItemToBlog(item);

                                if (bv.isActive.HasValue && !bv.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                blogViews.Add(bv);

                                break;

                            case ContentType.PhotoAlbumView:

                                var pav = MapItemToPhotoAlbum(item);

                                if (pav.isActive.HasValue && !pav.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                photoAlbumViews.Add(pav);

                                break;

                            case ContentType.PlaylistView:

                                var pv = MapItemToPlaylist(item);

                                if (pv.isActive.HasValue && !pv.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                playlistViews.Add(pv);

                                break;

                            default:
                                break;
                            }
                        }
                    } while (lastKeyEvaluated != null && lastKeyEvaluated.Count != 0);
                }

                siteContent.Blogs = blogs.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.Blog.ToString(), ItemCount = blogs.Count
                });

                siteContent.Bookmarks = bookmarks.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.Bookmark.ToString(), ItemCount = bookmarks.Count
                });

                siteContent.PhotoAlbums = photoAlbums.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.PhotoAlbum.ToString(), ItemCount = photoAlbums.Count
                });

                siteContent.Playlists = playlists.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.Playlist.ToString(), ItemCount = playlists.Count
                });

                siteContent.Tabs = tabs.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.Tab.ToString(), ItemCount = tabs.Count
                });

                siteContent.Tags = tags.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.Tag.ToString(), ItemCount = tags.Count
                });

                siteContent.BlogViews = blogViews.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.BlogView.ToString(), ItemCount = blogViews.Count
                });

                siteContent.PhotoAlbumViews = photoAlbumViews.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.PhotoAlbumView.ToString(), ItemCount = photoAlbumViews.Count
                });

                siteContent.PlaylistViews = playlistViews.ToArray();
                statistics.Add(new ContentCount {
                    ContentType = ContentType.PlaylistView.ToString(), ItemCount = playlistViews.Count
                });

                siteContent.Counts = statistics.ToArray();

                return(siteContent);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"ERROR: Handler exception. Error: {ex.Message}. {ex.StackTrace}.");
                return(null);
            }
        }
Esempio n. 33
0
        /// <summary>
        /// Generates blog view JSON files from Dynamo blogs.
        /// </summary>
        public async Task <List <Blog> > GenerateBlogViews(bool updateDynamo, bool newOnly = true)
        {
            try
            {
                var contentTypes = new ContentType[] { ContentType.Blog, ContentType.BlogView };
                Dictionary <string, AttributeValue> lastKeyEvaluated = null;
                var siteContent = new SiteContent();
                var blogs       = new List <Blog>();
                var blogViews   = new List <Blog>();

                foreach (var contentType in contentTypes)
                {
                    var cType = (ContentType)contentType;
                    do
                    {
                        var request = new QueryRequest
                        {
                            TableName = _tableName,
                            KeyConditionExpression    = "ContentType = :ContentType",
                            ExpressionAttributeValues = new Dictionary <string, AttributeValue>
                            {
                                {
                                    ":ContentType", new AttributeValue {
                                        S = cType.ToString()
                                    }
                                }
                            },
                            ScanIndexForward = false
                        };

                        if (lastKeyEvaluated != null && lastKeyEvaluated.Any())
                        {
                            request.ExclusiveStartKey = lastKeyEvaluated;
                        }

                        var response = await _client.QueryAsync(request);

                        lastKeyEvaluated = response.LastEvaluatedKey;

                        if (response?.Items == null || !response.Items.Any())
                        {
                            continue;
                        }

                        var inactiveItems = 0;

                        foreach (var item in response.Items)
                        {
                            switch (cType)
                            {
                            case ContentType.Blog:

                                var a = MapItemToBlog(item);

                                if (a.isActive.HasValue && !a.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                blogs.Add(a);

                                break;

                            case ContentType.BlogView:

                                var b = MapItemToBlog(item);

                                if (b.isActive.HasValue && !b.isActive.Value)
                                {
                                    inactiveItems++;
                                    continue;
                                }

                                blogViews.Add(b);

                                break;

                            default:
                                break;
                            }
                        }
                    } while (lastKeyEvaluated != null && lastKeyEvaluated.Count != 0);
                }

                foreach (var blog in blogs.OrderBy(a => a.createdOn).ToList())
                {
                    var view = blogViews.FirstOrDefault(p => p.uniqueName == blog.uniqueName);

                    if (view != null && newOnly)
                    {
                        continue;
                    }

                    view = new Blog
                    {
                        createdOn  = blog.createdOn,
                        title      = blog.title,
                        uniqueName = blog.uniqueName,
                        image      = blog.image,
                        tags       = blog.tags,
                        isActive   = blog.isActive
                    };

                    var body    = JsonConvert.DeserializeObject <Paragraph[]>(blog.body);
                    var content = string.Empty;
                    var take    = 0;
                    for (int i = 0; i < body.Length; i++)
                    {
                        take++;

                        if (!string.IsNullOrEmpty(body[i].style) &&
                            body[i].style == "text")
                        {
                            content += body[i].text;
                        }
                        if (content.Length >= 150)
                        {
                            break;
                        }
                    }

                    view.body = JsonConvert.SerializeObject(body.Take(take));
                    blogViews.Add(view);

                    if (updateDynamo)
                    {
                        var success = await AddItem(view, true);
                    }
                }

                return(blogViews);
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex);
                throw;
            }
        }
Esempio n. 34
0
        public ActionResult AddContent(int id = 0)
        {
            int websiteID = ViewBag.websiteID ?? 0;
            if (websiteID == 0) {
                return RedirectToAction("Index");
            }
            string error = "";
            CurtDevDataContext db = new CurtDevDataContext();
            Menu m = db.Menus.Where(x => x.menuID.Equals(id) && x.websiteID.Equals(websiteID)).FirstOrDefault<Menu>();
            if (m == null || m.menuID == 0) {
                return RedirectToAction("Contents");
            }

            #region Form Submission
            if (Request.Form.Count > 0) {
                try {

                    // Save form values
                    string title = (Request.Form["page_title"] != null) ? Request.Form["page_title"] : "";
                    bool addtomenu = (Request.Form["addtomenu"] != null) ? true : false;
                    bool requireAuthentication = (Request.Form["requireAuthentication"] != null) ? true : false;
                    // Validate the form fields
                    if (title.Length == 0) throw new Exception("Page Title is required.");

                    // Create the new customer and save
                    SiteContent new_page = new SiteContent {
                        page_title = title,
                        keywords = Request.Form["keywords"],
                        meta_description = Request.Form["meta_description"],
                        meta_title = Request.Form["meta_title"],
                        canonical = (Request.Form["canonical"].Trim() != "") ? Request.Form["canonical"].Trim() : null,
                        published = Convert.ToBoolean(Request.Form["publish"]),
                        createdDate = DateTime.Now,
                        lastModified = DateTime.Now,
                        active = true,
                        isPrimary = false,
                        slug = UDF.GenerateSlug(title),
                        requireAuthentication = requireAuthentication,
                        websiteID = websiteID
                    };

                    db.SiteContents.InsertOnSubmit(new_page);
                    db.SubmitChanges();

                    SiteContentRevision revision = new SiteContentRevision {
                        content_text = Request.Form["page_content"],
                        contentID = new_page.contentID,
                        active = true,
                        createdOn = DateTime.Now
                    };

                    if (addtomenu) {
                        Menu_SiteContent menuitem = new Menu_SiteContent {
                            menuID = m.menuID,
                            contentID = new_page.contentID,
                            menuSort = (db.Menu_SiteContents.Where(x => x.menuID == m.menuID).Where(x => x.parentID == null).Count()) + 1,
                            linkTarget = false
                        };
                        db.Menu_SiteContents.InsertOnSubmit(menuitem);
                    }

                    db.SiteContentRevisions.InsertOnSubmit(revision);
                    db.SubmitChanges();

                    return RedirectToRoute("ContentMenu", new { id = id });
                } catch (Exception e) {
                    error = e.Message;
                }
            }
            #endregion

            ViewBag.error = error;
            ViewBag.menuID = id;

            return View();
        }
Esempio n. 35
0
 /// <summary>
 /// There are no comments for SiteContent in the schema.
 /// </summary>
 public void AddToSiteContent(SiteContent siteContent)
 {
     base.AddObject("SiteContent", siteContent);
 }
Esempio n. 36
0
 public ActionResult Save(SiteContent siteContentModel)
 {
     //var a = Request.Form[0];
     if (!ModelState.IsValid)
     {
         var result = new
         {
             success = false,
             message = Utils.GetModelStateErrorList(ModelState)
         };
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
     else
     {
         using (DatisEntities de = new DatisEntities())
         {
             if (siteContentModel.Id > 0)
             {
                 try
                 {
                     siteContentModel.ArticleType     = (int)DatisEnums.ArticleType.Technology;
                     de.Entry(siteContentModel).State = System.Data.Entity.EntityState.Modified;
                     de.SaveChanges();
                 }
                 catch (DbEntityValidationException e)
                 {
                     foreach (var eve in e.EntityValidationErrors)
                     {
                         foreach (var ve in eve.ValidationErrors)
                         {
                             var result1 = new
                             {
                                 success = false,
                                 message = ve.PropertyName + ve.ErrorMessage
                             };
                         }
                     }
                     throw;
                 }
                 var result = new
                 {
                     success = true,
                     message = "ویرایش اطلاعات با موفقیت انجام شد",
                     data    = new { Id = siteContentModel.Id }
                 };
                 return(Json(result, JsonRequestBehavior.AllowGet));
             }
             else
             {
                 siteContentModel.ArticleType = (int)DatisEnums.ArticleType.Technology;
                 de.SiteContents.Add(siteContentModel);
                 de.SaveChanges();
                 var result = new
                 {
                     success = true,
                     message = "ثبت اطلاعات با موفقیت انجام شد",
                     data    = new { Id = siteContentModel.Id }
                 };
                 return(Json(result, JsonRequestBehavior.AllowGet));
             }
         }
     }
 }
Esempio n. 37
0
        static void exportIncome(IFlyMiningEntityDI fDb, SiteContent _siteSelector)
        {
            MailSender             mailSender      = new MailSender(fDb, _siteSelector, new FlySmtpClient());
            List <ExportIncome>    exportList      = new List <ExportIncome>();
            List <RsBankPayout>    payoutList      = new List <RsBankPayout>();
            List <ExportHistory>   historyList     = new List <ExportHistory>();
            List <ReferralPayment> refPaymentsList = new List <ReferralPayment>();
            var requests = Settings.PaymentRequestListAll(fDb, _siteSelector).Where(t => t.Valid == true && t.Confirmed == true);
            List <UserProfile2> users_list = fDb.UserProfile2.Where(t => requests.Any(y => y.userId == t.Id)).ToList();

            foreach (PaymentRequest request in requests.ToList())
            {
                Decimal payoutFee = 0;
                try
                {
                    if (request.Type != null)
                    {
                        payoutFee = Settings.withdrawFee(request.Type, request.CryptoCurrency);
                    }
                    else
                    {
                        request.Type = "R1";
                        payoutFee    = Settings.withdrawFee(request.Type, request.CryptoCurrency);
                    }
                    UserProfile2 user = users_list.SingleOrDefault(t => t.Id == request.userId);
                    List <RsBankAccountBalanceView> accountBalanceList = Settings.rsBalanceList(fDb, user, _siteSelector).Where(t => t.Currency == request.CryptoCurrency).ToList();
                    if (user == null)
                    {
                        Logger.AddLogRecord("Invalid request.Wrong userid " + request.userId.ToString());
                        fDb.PaymentRequests.Remove(request);
                        continue;
                    }
                    if (request.WalletDestinision == "")
                    {
                        Logger.AddLogRecord("Invalid request.Invalid wallet  " + request.WalletDestinision.ToString());
                        fDb.PaymentRequests.Remove(request);
                        continue;
                    }
                    decimal         currentBalance = 0;
                    UserBalanceData balanceData    = fDb.UserBalanceDatas.SingleOrDefault(t => t.userId == user.Id);
                    if (balanceData == null)
                    {
                        continue;
                    }
                    currentBalance = balanceData.Balance(_siteSelector, request.CryptoCurrency);
                    if (currentBalance < payoutFee)
                    {
                        Logger.AddLogRecord(currentBalance + "<" + payoutFee + " for paymentRequest " + request.id);
                        request.Valid = false;
                        continue;
                    }
                    foreach (RsBankAccountBalanceView account in accountBalanceList.Where(t => t.Type == "contract"))
                    {
                        Contract contract = fDb.Contracts.SingleOrDefault(t => t.TxID == account.RsTxId);
                        if (contract == null)
                        {
                            continue;
                        }
                        ExportHistory newHistory = new ExportHistory(request.CryptoCurrency)
                        {
                            Type       = 2,
                            UserId     = user.Id,
                            income     = 0,
                            ContractID = contract.id,
                            hashrate   = contract.hashrate,
                            Referral   = false
                        };
                        newHistory.income = account.AmountIncome ?? 0;
                        ExportIncome newExport = new ExportIncome(request.CryptoCurrency)
                        {
                            userId     = user.Id,
                            Wallet     = request.WalletDestinision,
                            RequestID  = request.id,
                            Referral   = false,
                            ContractID = contract.id,
                            Sum        = account.Amount.Value
                        };
                        if (newExport.Sum < 0)
                        {
                            Logger.AddLogRecord("newExport less then 0 : Income =" + newExport.Sum.ToString(new CultureInfo("en")));
                            continue;
                        }
                        int selector        = Settings.ConvertSelectorToInt(_siteSelector);
                        var MaintenanceData = fDb.MaintenanceHistories.Where(t => t.UserId == user.Id && t.Confirmed == true &&
                                                                             t.CryptoCurrency == contract.CryptoCurrency && (t.Contract.ContractType.SiteSelector == selector || (t.NonBTCBalance.HasValue && t.NonBTCBalance.Value == true))).Where(t => t.ContractID == contract.id && t.Spent == false && t.Referral == false);
                        foreach (MaintenanceHistory oper in MaintenanceData.ToList())
                        {
                            oper.Spent = true;
                        }
                        foreach (HodlContractManagementFee oper in fDb.HodlContractManagementFees.Where(t => MaintenanceData.Any(x => x.id == t.MaintId)).ToList())
                        {
                            oper.Spent = true;
                        }
                        exportList.Add(newExport);
                        historyList.Add(newHistory);
                        RsBankPayout newPayout = new RsBankPayout(request);
                        newPayout.Wallet      = account.RsTxId;
                        newPayout.Sum_Value   = (Math.Round(newExport.Sum * 1000000, 2)).ToString(new CultureInfo("en"));
                        newPayout.Description = newPayout.Sum_Value.ToString(new CultureInfo("en")) + " to " + newPayout.UserWallet + " " + request.CryptoCurrency + " from " + user.RsBankId;
                        payoutList.Add(newPayout);
                    }
                    foreach (RsBankAccountBalanceView account in accountBalanceList.Where(t => t.Type == "contractReferral"))
                    {
                        ContractReferral contractRef = Settings.RefContractList(fDb, SiteContent.Flymining).SingleOrDefault(t => t.TxID == account.RsTxId);
                        if (contractRef == null)
                        {
                            continue;
                        }
                        ExportIncome newExport = new ExportIncome(request.CryptoCurrency)
                        {
                            userId     = user.Id,
                            Wallet     = request.WalletDestinision,
                            RequestID  = request.id,
                            Referral   = true,
                            ContractID = contractRef.id,
                            Sum        = account.Amount.Value
                        };
                        ExportHistory newHistory = new ExportHistory(request.CryptoCurrency)
                        {
                            Type       = 2,
                            UserId     = user.Id,
                            ContractID = contractRef.ContractFatherId,
                            hashrate   = contractRef.hashrate,
                            Referral   = true,
                            income     = account.AmountIncome.Value
                        };
                        if (newExport.Sum < 0)
                        {
                            Logger.AddLogRecord("newExport less then 0 : Income =" + newExport.Sum.ToString(new CultureInfo("en")));
                            continue;
                        }
                        exportList.Add(newExport);
                        historyList.Add(newHistory);
                        RsBankPayout newPayout = new RsBankPayout(request)
                        {
                            Wallet    = account.RsTxId,
                            Sum_Value = (Math.Round(newExport.Sum * 1000000, 2)).ToString(new CultureInfo("en"))
                        };
                        newPayout.Description = newPayout.Sum_Value.ToString(new CultureInfo("en")) + " to " + newPayout.UserWallet + " " + request.CryptoCurrency + " referral from " + user.RsBankId;
                        payoutList.Add(newPayout);
                    }
                    foreach (RsBankAccountBalanceView account in accountBalanceList.Where(t => t.Type == "ReferralPayment"))
                    {
                        RsBankPayout newPayout = new RsBankPayout(request)
                        {
                            Wallet    = user.RsBankId,
                            Sum_Value = (Math.Round(account.RsAmount.Value, 2)).ToString(new CultureInfo("en"))
                        };
                        newPayout.Description = "Referral payment " + newPayout.Sum_Value.ToString(new CultureInfo("en")) + " to " + newPayout.UserWallet + " BTC referral from " + user.RsBankId;
                        payoutList.Add(newPayout);
                        refPaymentsList.Add(fDb.ReferralPayments.Single(t => t.TxId == account.RsTxId));
                        ExportIncome newExport = new ExportIncome(request, account.Amount.Value, true);
                        exportList.Add(newExport);
                    }
                    request.Valid = false;
                    decimal currentCommision = payoutFee;
                    decimal payoutSum        = payoutList.Where(t => t.TxID == request.UniqueID).Sum(t => Convert.ToDecimal(t.Sum_Value));
                    request.Amount = payoutSum - currentCommision * 1000000;
                    List <RsBankPayout> commList = new List <RsBankPayout>();
                    foreach (RsBankPayout payout in payoutList.Where(t => t.TxID == request.UniqueID))
                    {
                        RsBankPayout newPayout = new RsBankPayout
                        {
                            UniqueID      = Guid.NewGuid().ToString(),
                            Date          = DateTime.UtcNow,
                            TxID          = payout.TxID,
                            Oper_Type     = "5",
                            Wallet_Type   = payout.Wallet_Type,
                            Wallet        = payout.Wallet,
                            Currency_Name = request.CryptoCurrency,
                            Special_Kind  = "S",
                            Rest          = "0",
                            Spent         = false,
                            UserWallet    = payout.UserWallet
                        };
                        newPayout.Year    = newPayout.Date.Year;
                        newPayout.Month   = newPayout.Date.Month;
                        newPayout.Day     = newPayout.Date.Day;
                        currentCommision -= Math.Round((Convert.ToDecimal(payout.Sum_Value) * payoutFee) / payoutSum, 8);
                        if (currentCommision < 0)
                        {
                            currentCommision   += Math.Round((Convert.ToDecimal(payout.Sum_Value) * payoutFee) / payoutSum, 8);
                            newPayout.Sum_Value = Convert.ToString(Math.Round(-currentCommision * 1000000, 2), new CultureInfo("en"));
                            payout.Sum_Value    = (Convert.ToDecimal(payout.Sum_Value) + Convert.ToDecimal(newPayout.Sum_Value)).ToString("#0.00", CultureInfo.InvariantCulture);
                            currentCommision    = 0;
                        }
                        else
                        {
                            newPayout.Sum_Value = Convert.ToString(Math.Round(-(Convert.ToDecimal(payout.Sum_Value) * payoutFee * 1000000) / payoutSum, 2), new CultureInfo("en"));
                            payout.Sum_Value    = (Convert.ToDecimal(payout.Sum_Value) + Convert.ToDecimal(newPayout.Sum_Value)).ToString("#0.00", CultureInfo.InvariantCulture);
                        }
                        newPayout.Description = newPayout.Sum_Value.ToString(new CultureInfo("en")) + " " + request.CryptoCurrency + " commision to " + newPayout.UserWallet + " user " + user.RsBankId;
                        commList.Add(newPayout);
                    }
                    payoutList.AddRange(commList);
                    if (currentCommision != 0)
                    {
                        string firstWallet = payoutList.Where(t => t.TxID == request.UniqueID).OrderByDescending(t => t.Sum_Value).First().Wallet;
                        foreach (RsBankPayout payout in payoutList.Where(t => t.Wallet == firstWallet && t.TxID == request.UniqueID))
                        {
                            if (payout.Special_Kind == "S")
                            {
                                payout.Sum_Value   = Convert.ToString(Convert.ToDecimal(payout.Sum_Value) + currentCommision, new CultureInfo("en"));
                                payout.Description = payout.Sum_Value.ToString(new CultureInfo("en")) + " " + request.CryptoCurrency + " commision to " + payout.UserWallet + " user " + user.RsBankId;
                            }
                            else
                            {
                                payout.Sum_Value   = Convert.ToString(Convert.ToDecimal(payout.Sum_Value) - currentCommision, new CultureInfo("en"));
                                payout.Description = payout.Sum_Value.ToString(new CultureInfo("en")) + " to " + payout.UserWallet + " " + request.CryptoCurrency + " from " + user.RsBankId;
                            }
                        }
                    }
                    mailSender.SendPaymentRequest(user, request);
                }
                catch (Exception ex)
                {
                    Logger.AddLogRecord("Payment Request Parsing.Error:" + Convert.ToString(ex));
                }
            }
            foreach (ExportIncome row in exportList)
            {
                fDb.ExportIncomes.Add(row);
            }
            foreach (RsBankPayout row in payoutList)
            {
                fDb.RsBankPayouts.Add(row);
            }
            foreach (ExportHistory row in historyList)
            {
                fDb.ExportHistories.Add(row);
            }
            foreach (ReferralPayment row in refPaymentsList)
            {
                row.Sent = true;
            }
            try
            {
                fDb.SaveChanges();
                UtilityFunc utilHandler = new UtilityFunc(fDb);
                foreach (UserProfile2 user in users_list)
                {
                    utilHandler.recalculateBalance(user);
                }
            }
            catch (Exception ex)
            {
                Logger.AddLogRecord("Error on SaveChanges Export Income Service :" + Convert.ToString(ex));
            }
        }
Esempio n. 38
0
 /// <summary>
 /// Create a new SiteContent object.
 /// </summary>
 /// <param name="id">Initial value of Id.</param>
 /// <param name="name">Initial value of Name.</param>
 /// <param name="language">Initial value of Language.</param>
 /// <param name="url">Initial value of Url.</param>
 public static SiteContent CreateSiteContent(int id, string name, string language, string url)
 {
     SiteContent siteContent = new SiteContent();
     siteContent.Id = id;
     siteContent.Name = name;
     siteContent.Language = language;
     siteContent.Url = url;
     return siteContent;
 }
Esempio n. 39
0
        public void SaveSiteContent(ref SiteContent content, int auditUserId)
        {
            var proxy = _cmsService.CreateProxy();

            proxy.SaveSiteContent(ref content, auditUserId);
        }