public List <IndexBlogViewModel> GetAllPosts() { try { var db = new DbEl(); var posts = db.BlogPosts.OrderByDescending(i => i.Timestamp).ToList(); var list = new List <IndexBlogViewModel>(); foreach (var item in posts) { var post = new IndexBlogViewModel { BlogModelId = item.BlogModelId, Timestamp = item.Timestamp.ToString(), Header = item.Header, ImagePath = item.ImagePath, Ingress = item.Ingress }; list.Add(post); } return(list); } catch (Exception exc) { throw exc; } }
public List <ListCustomerViewModel> GetCustomers() { var _db = new DbEl(); var customers = _db.Customers.OrderByDescending(i => i.DaySigned).ToList(); var list = new List <ListCustomerViewModel>(); foreach (var item in customers) { var model = new ListCustomerViewModel { SocialSecurity = item.SocialSecurity, CustomerId = item.CustomerId, Firstname = item.Firstname, Lastname = item.Lastname, Address = item.Address, City = item.City, Email = item.Email, Postnumber = item.Postnumber, ClientDeal = item.ClientModel != null ? item.ClientModel : null, ScrapeDeal = item.ScrapeModel != null ? item.ScrapeModel : null, Timestamp = item.DaySigned.ToString(), AreaCode = item.AreaCode != null ? item.AreaCode : null, HasConfirmed = item.HasConfirmed, IpAdress = item.IpAdress, LetUsGetInfo = item.LetUsGetInfo, Paymentmethod = item.Paymentmethod, PropertyCode = item.PropertyCode != null ? item.PropertyCode : null, StartDate = item.StartDate }; list.Add(model); } return(list); }
private void RemoveContent(string typ, int förbrukning, int ElområdeId) { DbEl db = new DbEl(); var list = db.ScrapeModels.Where(i => i.Typ == typ && i.Förbrukning == förbrukning && i.ElområdeId == ElområdeId).ToList(); db.ScrapeModels.RemoveRange(list); db.SaveChanges(); }
public void RemovePost(int id) { var db = new DbEl(); var post = db.BlogPosts.Find(id); db.BlogPosts.Remove(post); db.SaveChanges(); }
public void UpdatePost(AddBlogPostViewModel model) { var db = new DbEl(); var post = db.BlogPosts.Find(model.BlogModelId); post.Header = model.Header; post.HtmlContent = model.HtmlContent; post.Ingress = model.Ingress; post.Timestamp = DateTime.Now; db.Entry(post).State = EntityState.Modified; db.SaveChanges(); }
public void SavePost(AddBlogPostViewModel model) { var db = new DbEl(); var post = new BlogModel { Header = model.Header, HtmlContent = model.HtmlContent, ImagePath = _ImageHelper.SaveImage(model.Image), Ingress = model.Ingress, Timestamp = DateTime.Now }; db.BlogPosts.Add(post); db.SaveChanges(); }
public void UpdateClientDeal(AddDealViewModel model) { var _db = new DbEl(); var deal = _db.ClientModels.Find(model.ClientId); var HasChange = EqualsClient(model, deal); if (HasChange) { return; } if (_db.Customers.Any(i => i.ClientId == deal.ClientId)) { throw new Exception(); } _db.ClientModels.Remove(deal); SaveDeal(model); _db.SaveChanges(); }
public DisplayBlogPostViewModel GetSinglePost(int id) { var db = new DbEl(); if (db.BlogPosts.Any(i => i.BlogModelId == id)) { var post = db.BlogPosts.Find(id); var model = new DisplayBlogPostViewModel { Header = post.Header, HtmlContent = post.HtmlContent, Ingress = post.Ingress, ImagePath = post.ImagePath, Timestamp = post.Timestamp.ToString(), BlogModelId = post.BlogModelId }; return(model); } else { throw new Exception(); } }
public async Task <bool> GetHtmlAsync(string typ, int förbrukning, string url, int ElområdeId) { DbEl db = new DbEl(); var r = new Random(); if (IsExisting(typ, förbrukning, ElområdeId)) { RemoveContent(typ, förbrukning, ElområdeId); } var httpClient = new HttpClient(); var html = await httpClient.GetStringAsync(url); var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(html); var AllListElements = htmlDoc.DocumentNode.Descendants("li") .Where(node => node.GetAttributeValue("class", "") .StartsWith("panel epk-list-item")).ToList(); var Links = htmlDoc.DocumentNode.Descendants("a") .Where(node => node.GetAttributeValue("href", "") .StartsWith("/sv/Elpriskollen/Avtalssida/?ellevid=")) .Select(i => i.GetAttributeValue("href", "").Replace("amp;", "")).ToList(); var headers = AllListElements.Select(i => i.Descendants("h3").Select(x => x.InnerText).ToList()).ToList(); var Price = htmlDoc.DocumentNode.Descendants("div") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-list-price col-md-2 col-sm-3 ")).Select(i => i.InnerText).ToList(); var Company = htmlDoc.DocumentNode.Descendants("dd") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-list-contract-company")).Select(i => i.InnerText).ToList(); var Contract = htmlDoc.DocumentNode.Descendants("dd") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-list-contract-type")).Select(i => i.InnerText).ToList(); var list = new List <ScrapeModel>(); for (int i = 0; i < Links.Count; i++) { var model = new ScrapeModel(); model.Company = Company[i].Trim(); model.Contract = Contract[i].Trim(); model.Price = Price[i].Trim(); model.ExtraInfo = headers[i][0].Trim(); model.Typ = typ; model.Förbrukning = förbrukning; model.ElområdeId = ElområdeId; model.Rating = 0; var extraUrl = "https://www.ei.se" + Links[i]; var extraClient = new HttpClient(); var extraHtml = await httpClient.GetStringAsync(extraUrl); var extraHtmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(extraHtml); var ExtraAttributes = htmlDoc.DocumentNode.Descendants("td") .Where(node => node.GetAttributeValue("class", "") .StartsWith("value")).Select(node => node.InnerText.Trim()).ToList(); var PaymentMethod = htmlDoc.DocumentNode.Descendants("td") .Where(node => node.GetAttributeValue("class", "") .Equals("well")).Select(x => x.InnerText).ToList()[5].Split(','); model.Autogiro = PaymentMethod.Any(p => p.Trim().Equals("Autogiro")) ? true : false; model.EFaktura = PaymentMethod.Any(p => p.Trim().Equals("E-faktura")) ? true : false; model.Pappersfaktura = PaymentMethod.Any(p => p.Trim().Equals("Traditionell")) ? true : false; var SunSource = htmlDoc.DocumentNode.Descendants("li") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-energy-type epk-energy-solar")).Select(x => x.InnerText).ToList(); model.Sol = SunSource.Count > 0 ? true : false; var WindSource = htmlDoc.DocumentNode.Descendants("li") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-energy-type epk-energy-wind")).Select(x => x.InnerText).ToList(); model.Vind = WindSource.Count > 0 ? true : false; var WaterSource = htmlDoc.DocumentNode.Descendants("li") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-energy-type epk-energy-water")).Select(x => x.InnerText).ToList(); model.Vatten = WaterSource.Count > 0 ? true : false; var BioSource = htmlDoc.DocumentNode.Descendants("li") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-energy-type epk-energy-bio")).Select(x => x.InnerText).ToList(); model.Bio = BioSource.Count > 0 ? true : false; var EnvironmentalSource = htmlDoc.DocumentNode.Descendants("li") .Where(node => node.GetAttributeValue("class", "") .Equals("epk-energy-type epk-bramiljoval")).Select(x => x.InnerText).ToList(); model.Miljömärkt = EnvironmentalSource.Count > 0 ? true : false; model.ÅrsAvgift = ExtraAttributes[0]; model.Engångsavgift = ExtraAttributes[1]; model.Fastpris = ExtraAttributes[2]; model.RörligtInköpsPris = ExtraAttributes[3]; model.RörligtPåslag = ExtraAttributes[4]; model.Miljöpåslag = ExtraAttributes[5]; model.RörligtMiljöpåslag = ExtraAttributes[6]; model.Rabatt = ExtraAttributes[7]; model.Moms = ExtraAttributes[10]; model.Uppsägningstid = ExtraAttributes[15]; model.Automatiskförlängning = ExtraAttributes[16]; model.Omteckningsrätt = ExtraAttributes[17]; list.Add(model); } db.ScrapeModels.AddRange(list); db.SaveChanges(); return(true); }
private bool IsExisting(string typ, int förbrukning, int ElområdeId) { DbEl db = new DbEl(); return(db.ScrapeModels.Any(i => i.Typ == typ && i.Förbrukning == förbrukning && i.ElområdeId == ElområdeId)); }
public List <RemovedUserModel> GetDeletedUsers() { var db = new DbEl(); return(db.DeletedCustomer.OrderByDescending(i => i.DaySigned).ToList()); }
private bool MoveCustomer(Customer c) { var httpContext = HttpContext.Current; var db = new DbEl(); if (c.ScrapeId != null) { var deleted = new RemovedUserModel { Address = c.Address, AdminName = httpContext.User.Identity.Name, AreaCode = c.AreaCode, City = c.City, Company = c.ScrapeModel.Company, Contract = c.ScrapeModel.Contract, DateMoved = DateTime.Now.ToString(), DaySigned = c.DaySigned, Email = c.Email, ExtraInfo = c.ScrapeModel.ExtraInfo, Firstname = c.Firstname, Förbrukning = c.ScrapeModel.Förbrukning, HasConfirmed = c.HasConfirmed, IpAdress = c.IpAdress, Lastname = c.Lastname, LetUsGetInfo = c.LetUsGetInfo, Paymentmethod = c.Paymentmethod, Postnumber = c.Postnumber, Price = c.ScrapeModel.Price, PropertyCode = c.PropertyCode, SocialSecurity = c.SocialSecurity, StartDate = c.StartDate, Typ = c.ScrapeModel.Typ, IsClient = false, Elområde = c.ScrapeModel.Elområde.Area }; db.DeletedCustomer.Add(deleted); db.SaveChanges(); return(true); } else if (c.ClientId != null) { var deleted = new RemovedUserModel { Address = c.Address, AdminName = httpContext.User.Identity.Name, AreaCode = c.AreaCode, City = c.City, Company = c.ClientModel.ElBolag.Name, Contract = c.ClientModel.Contract, DateMoved = DateTime.Now.ToString(), DaySigned = c.DaySigned, Email = c.Email, ExtraInfo = c.ClientModel.ExtraInfo, Firstname = c.Firstname, Förbrukning = c.ClientModel.Förbrukning, HasConfirmed = c.HasConfirmed, IpAdress = c.IpAdress, Lastname = c.Lastname, LetUsGetInfo = c.LetUsGetInfo, Paymentmethod = c.Paymentmethod, Postnumber = c.Postnumber, Price = c.ClientModel.Price.ToString(), PropertyCode = c.PropertyCode, SocialSecurity = c.SocialSecurity, StartDate = c.StartDate, Typ = c.ClientModel.Typ, IsClient = true, Elområde = c.ClientModel.Elområde.Area }; db.DeletedCustomer.Add(deleted); db.SaveChanges(); return(true); } return(false); }