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); }
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())); } }
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; }
// // 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(); }
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; }
public ActionResult Index() { using (DatisEntities de = new DatisEntities()) { SiteContent sc = de.SiteContents.Where(m => m.ArticleType == (int)DatisEnums.ArticleType.Projects).FirstOrDefault(); return(View(sc)); } }
// // 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(); }
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)); }
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)); }
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")); }
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(); } }
public SiteContent GetContentByKey(String key) { SiteContent sc = repo.GetContextById(key); if (sc == null) { return(new SiteContent()); } else { return(sc); } }
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)); }
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); } }
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)); } }
public bool DeleteSiteContent(SiteContent sc) { try { context.SiteContents.Remove(sc); context.SaveChanges(); return(true); } catch (Exception ex) { Console.WriteLine(ex.Message); return(false); } }
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; } }
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; } }
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(); }
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); }
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())); }
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)); } }
/// <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; } }
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); }
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)); } } } }
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); } }
/// <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; } }
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(); }
/// <summary> /// There are no comments for SiteContent in the schema. /// </summary> public void AddToSiteContent(SiteContent siteContent) { base.AddObject("SiteContent", siteContent); }
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)); } } } }
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)); } }
/// <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; }
public void SaveSiteContent(ref SiteContent content, int auditUserId) { var proxy = _cmsService.CreateProxy(); proxy.SaveSiteContent(ref content, auditUserId); }