public Task <CreateNewsResponse> CreateNewsAsync(CreateNews dto) { return(Task.Run(() => { var id = Guid.NewGuid(); var dateTime = DateTime.Now; NewsEntity entity = new NewsEntity() { CreatedDate = dateTime, Id = id, Introduction = dto.introduction, IsHot = dto.is_hot, NewsUrl = dto.news_url, OffLine = false, Thumbnail = dto.thumbnail_url, Title = dto.title }; _newsRepository.Insert(entity); _categoryRelationshipsRepository.Insert(new CategoryRelationshipsEntity() { CategoryId = dto.type_id, CreatedDate = dateTime, ObjectId = id }); return new CreateNewsResponse() { news_id = id }; })); }
public ActionResult Create(CreateNews News) { if (ModelState.IsValid) { string connectionString = "Data Source=HRMSDEV;user id=PERSON;password=PERSON;Unicode=True;"; string NEWS_ID; using (OracleConnection connection = new OracleConnection(connectionString)) { string number = null; number = ""; OracleCommand cmd1 = new OracleCommand(); cmd1.CommandType = CommandType.Text; cmd1.CommandText = "select nvl(max(substr(NEWS_ID,7,3)),0) from KMIINTRANET_MASTER_NEWS where substr(NEWS_ID,1,6)='" + Convert.ToDateTime(System.DateTime.Now).ToString("yyyyMM") + "'"; cmd1.Connection = connection; connection.Open(); objDataReader = cmd1.ExecuteReader(); if (objDataReader.HasRows) { objDataReader.Read(); number = Convert.ToString(Convert.ToInt32(objDataReader[0]) + 1); if (number.Length == 1) { number = "00" + number; } else if (number.Length == 2) { number = "0" + number; } else if (number.Length == 3) { number = number; } } cmd1 = null; connection.Close(); OracleCommand cmd2 = new OracleCommand(); NEWS_ID = Convert.ToDateTime(System.DateTime.Now).ToString("yyyyMM") + number; byte[] tempFile = new byte[News.NewsFile.InputStream.Length]; News.NewsFile.InputStream.Read(tempFile, 0, tempFile.Length); cmd2.CommandText = "INSERT INTO KMIINTRANET_MASTER_NEWS(NEWS_ID,NEWS_TITLE,NEWS,NEWS_FILE,STATUS,CREATE_BY,CREATE_DATE) VALUES (:newsid,:title,:news,:newsfile,:stat,'" + Session["USER"] + "',sysdate)"; cmd2.CommandType = CommandType.Text; cmd2.Connection = connection; connection.Open(); cmd2.Parameters.Add(":stat", OracleType.VarChar).Value = News.stat.ToString(); cmd2.Parameters.Add(":newsfile", OracleType.Blob).Value = tempFile; cmd2.Parameters.Add(":news", OracleType.VarChar).Value = News.isi.ToString(); cmd2.Parameters.Add(":title", OracleType.VarChar).Value = News.title.ToString(); cmd2.Parameters.Add(":newsid", OracleType.VarChar).Value = NEWS_ID; cmd2.ExecuteNonQuery(); cmd2 = null; connection.Close(); return(RedirectToAction("Index")); } } return(View()); }
public ResultObject RequestUploadNews(CreateNews news, string writerId) { news.Writer = writerId; //lưu vào cloud rồi lấy url, sau khi lấy url thì xóa List<Image> đi để giảm cache, ép kiểu ngược lại thành DetailedNews rồi cache //luu vao DB, tra lai newsID roi cap nhat vao cache throw new NotImplementedException(); }
public async Task <ActionResult> CreateNews(CreateNews news) { if (ModelState.IsValid) { await _newsPageLogic.AddNews(news); return(RedirectToAction("Index", new { message = Message.createSuccess })); } return(RedirectToAction("Index", new { message = Message.error })); }
public async Task <IHttpActionResult> Post(CreateNews item) { if (ModelState.IsValid) { NewsDto newNews = _mapper.Map <CreateNews, NewsDto>(item); newNews.ApplicationUserId = (await _userService.GetUserId(User.Identity.Name)); NewsDto news = await _newsService.Create(newNews); return(Ok(news)); } return(BadRequest(ModelState)); }
public object Post(CreateNews request) { WebNews result = null; var context = TepWebContext.GetWebContext(PagePrivileges.AdminOnly); try { context.Open(); if (request.Type.Equals(EntityType.GetEntityType(typeof(TwitterNews)).Keyword)) { TwitterNews tweet = null; tweet = new TwitterNews(context); tweet = (TwitterNews)request.ToEntity(context, tweet); tweet.Store(); result = new WebNews(tweet); } else if (request.Type.Equals(EntityType.GetEntityType(typeof(RssNews)).Keyword)) { RssNews rss = null; rss = new RssNews(context); rss = (RssNews)request.ToEntity(context, rss); rss.Store(); result = new WebNews(rss); //} else if (request.Type.Equals(EntityType.GetEntityType(typeof(TumblrNews)).Keyword)){ // TumblrNews tumblr = null; // tumblr = new TumblrNews(context); // tumblr = (TumblrNews)request.ToEntity(context, tumblr); // tumblr.Store(); // result = new WebNews(tumblr); } else { Article article = null; article = new Article(context); article = (Article)request.ToEntity(context, article); article.Store(); result = new WebNews(article); } context.LogInfo(this, string.Format("/news POST Id='{0}'", request.Id)); context.Close(); } catch (Exception e) { context.LogError(this, e.Message, e); context.Close(); throw e; } return(result); }
public IEnumerable Handle(Func <Guid, TournamentAggregate> al, CreateNews command) { var tournament = CommandQueries.GetTournaments().FirstOrDefault(x => x.Year == command.Year); var agg = al(tournament.Id); yield return(new NewsCreated { Id = tournament.Id, NewsId = command.Id, Title = command.Title, Content = command.Content, Created = DateTime.Now }); }
public async Task AddNews(CreateNews news) { var item = new News() { Title = news.Title, NewsText = news.NewsText, SlideDescription = news.SlideDescription, SlideTitle = news.SlideTitle, ImgHref = news.ImgHref, DateOfCreation = DateTime.Today, }; _db.NewsContext.Add(item); await _db.SaveChangesAsync(); }
public ActionResult Add(CreateNews model, HttpPostedFileBase PhotoPath) { if (ModelState.IsValid && (PhotoPath != null && PhotoPath.ContentLength > 0)) { foreach (string word in model.Text.Split(' ')) { if (word.Length > 50) { TempData["IsSuccess"] = false; TempData["Message"] = "Длинна одного слова не может быть больше 50 символов"; TempData["CreateNews"] = model; return(RedirectToAction("Index")); } } News news = new News { Title = model.Title, CreateDate = DateTime.Now, AuthorUserId = brioContext.CurrentUser.ID, CompanyId = brioContext.CurrentUser.CompanyId, Text = model.Text }; var fileName = Path.GetFileName(PhotoPath.FileName); var savingPath = Path.Combine(HttpContext.Server.MapPath(AppSettings.NEWS_PHOTO_SAVING_PATH), fileName); PhotoPath.SaveAs(savingPath); news.PhotoPath = VirtualPathUtility.ToAbsolute(Path.Combine(AppSettings.NEWS_PHOTO_SAVING_PATH, fileName)); newsRepository.Insert(news); newsRepository.SaveChanges(); TempData["IsSuccess"] = true; TempData["Message"] = "Новость успешно добавлена!"; return(RedirectToAction("Index")); } else { TempData["IsSuccess"] = false; TempData["Message"] = "Новость не была создана, т.к. не заполнены все поля. Пожалуйста повторите попытку заполнив все поля."; TempData["CreateNews"] = model; return(RedirectToAction("Index")); } }
public async Task <ControllerResult> Create(CreateNews model) { if (!ModelState.IsValid) { string errorMessage = string.Empty; foreach (ModelState modelState in ModelState.Values) { foreach (ModelError error in modelState.Errors) { errorMessage = string.Format("{0}\n{1}", errorMessage, error.ErrorMessage); } } ControllerResult responce = new ControllerResult() { IsSucces = true, Message = string.Format("{0}/#/SignUp/{1}", Repository.DNS, errorMessage) }; return(responce); } this.logger.WriteInformation("Запрос на создание новости"); RepositoryResult <News, ControllerResult> result = await this.repository.CreateNews(model); if (result.ResultType == RepositoryResultType.OK) { this.logger.WriteInformation(string.Format("Новость успешно создана id = {0}", result.Value.Id)); } else { this.logger.WriteError("Ошибка при создании новости"); } return(result.Responce); }
public async Task <IActionResult> Edit(NewsViewModel vm, [FromServices] CreateNews createNews, [FromServices] UpdateNews updateNews) { if (vm.Id > 0) { //Update post if it exists await updateNews.DoAsync(new UpdateNews.Request { Id = vm.Id, Title = vm.Title, Body = vm.Body, Image = vm.Image, Created = vm.Created, Description = vm.Description, Tags = vm.Tags, Category = vm.Category }); } else { //Create new post if not exists await createNews.DoAsync(new CreateNews.Request { Title = vm.Title, Body = vm.Body, Image = vm.Image, Created = DateTime.Now, Description = vm.Description, Tags = vm.Tags, Category = vm.Category }); } return(RedirectToAction("Index")); }
public ActionResult Create(CreateNews news) { if (ModelState.IsValid) { byte[] imageData = null; if (news.File != null) { using (var binaryReader = new BinaryReader(news.File.InputStream)) { imageData = binaryReader.ReadBytes(news.File.ContentLength); } } _data.AddNews(new News { Id = Guid.NewGuid(), Caption = news.Name, Text = news.Text, Image = imageData }); return(RedirectToAction("Administration")); } return(View()); }
public JsonResult Save(CreateNews command) { command.Id = Guid.NewGuid(); Domain.Dispatcher.SendCommand(command); return(Json(command)); }
public async Task <IHttpActionResult> Post([FromBody] CreateNews dto) { var resp = await _newsService.CreateNewsAsync(dto); return(Ok(resp)); }
public async Task <RepositoryResult <News, ControllerResult> > CreateNews(CreateNews model) { RepositoryResult <News, ControllerResult> result = new RepositoryResult <News, ControllerResult>(); MatchCollection matches = Regex.Matches(model.Content, "<img src=\"" + @".+?" + "\"" + @"[.\s]*/>"); List <string> urls = new List <string>(model.Urls); List <string> usingUrls = new List <string>(); News news = new News() { Title = model.Title }; List <Image> images = new List <Image>(); foreach (Match match in matches) { string url = Regex.Match(match.ToString(), "src=\"" + @".+?" + "\"").ToString() .Replace("src=\"", string.Empty) .Replace("\"", string.Empty) .Replace(DNS, string.Empty); if (urls.Contains(url) || usingUrls.Contains(url)) { if (usingUrls.Contains(url)) { continue; } else { usingUrls.Add(url); } urls.Remove(url); string serverPath = HttpContext.Current.Server.MapPath(url); string fileName = Path.GetFileName(serverPath); string newServerPath = HttpContext.Current.Server.MapPath(string.Format("~/Bundles/app/img/news/{0}", news.Id)); if (!Directory.Exists(newServerPath)) { Directory.CreateDirectory(newServerPath); } newServerPath = Path.Combine(newServerPath, fileName); try { File.Move(serverPath, newServerPath); this.logger.WriteInformation(string.Format("Файл успешно пермещён с {0} в {1}", serverPath, newServerPath)); } catch (Exception ex) { this.logger.WriteError(ex, string.Format("Ошибка при перемещении файла по расположению {0} в {1}", serverPath, newServerPath)); result.Responce = new ControllerResult() { IsSucces = false, Message = "Ошибка на серевере. Сервер временно недоступен, приносим свои извинения." }; result.ResultType = RepositoryResultType.Bad; return(result); } string newUrl = string.Format("/Bundles/app/img/news/{0}/{1}", news.Id, fileName); model.Content = model.Content.Replace(url, newUrl); images.Add(new Image() { URL = newUrl }); } else if (url.Contains("http://") || url.Contains("https://")) { string path = HttpContext.Current.Server.MapPath(string.Format("~/Bundles/app/img/news/{0}/", news.Id)); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string fileName = string.Format("{0}_{1}", Guid.NewGuid(), Guid.NewGuid()); path = Path.Combine(path, fileName); using (WebClient WC = new WebClient()) { try { WC.DownloadFile(url, path); this.logger.WriteInformation(string.Format("Загружен файл с внешнего ресурса по ссылке {0}.", url)); } catch (Exception ex) { string error = string.Format("Ошибка при загрузке файла с внешнего ресурса по ссылке {0}.", url); this.logger.WriteError(ex, error); result.Responce = new ControllerResult() { IsSucces = false, Message = error }; result.ResultType = RepositoryResultType.Bad; return(result); } } string newUrl = string.Format("/Bundles/app/img/news/{0}/{1}", news.Id, fileName); model.Content = model.Content.Replace(url, newUrl); images.Add(new Image() { URL = newUrl }); } else { result.Responce = new ControllerResult() { IsSucces = false, Message = "Ошибка на серевере. Сервер временно недоступен, приносим свои извинения." }; result.ResultType = RepositoryResultType.Bad; return(result); } } news.Images = images; string userName = HttpContext.Current.User.Identity.Name; User user = context.GetAll <User>().FirstOrDefault(u => u.UserName == userName); news.User = user; news.Content = model.Content; context.Add(news); await this.context.SaveChangesAsync(); foreach (string url in urls) { string path = HttpContext.Current.Server.MapPath(url); try { File.Delete(path); this.logger.WriteInformation(string.Format("Удалён файл по расположению", path)); } catch (Exception ex) { this.logger.WriteError(ex, string.Format("Ошибка удаления файла по расположению", path)); } } result.Responce = new ControllerResult() { IsSucces = true, Message = string.Format("/#/News/{0}", news.Id) }; result.Value = news; result.ResultType = RepositoryResultType.OK; return(result); }
public async Task <ActionResult> InsertNews(CreateNews newForInsert) { return(await Task.Run(() => { var dbHelpre = DBHelper.Instance; var BLInstance = TopNewsBL.Instance; dbHelpre.BeginTransaction(); try { if (ModelState.IsValid) { var news = new TopNews { Heading = newForInsert.Heading.Trim(), ShortDescription = newForInsert.ShortDesc.Trim(), NewsDescription = string.IsNullOrEmpty(newForInsert.Description) ? string.Empty : newForInsert.Description.Trim(), IsActive = 0, IsApproved = 0 }; var image = new ImageDetail { ImageType = (int)ImageType.TopNewsImage, ImageUrl = " ", Caption = newForInsert.ImageCaption, CaptionLink = newForInsert.CaptionLink, IsActive = 0, IsFirst = 0 }; var fileName = string.Empty; if (newForInsert.Image != null && newForInsert.Image.ContentLength > 0) { fileName = new Random().Next(1000000000).ToString() + Path.GetFileName(newForInsert.Image.FileName); image.ImageUrl = ImagePath.TopTenNewsImage + "/" + fileName; image.IsActive = 1; image.IsFirst = 1; } string dirPath = ImagePath.TopTenNewsImage; var user = (IUsers)this.Session[Constants.UserSessionKey]; BLInstance.Insert(ref dbHelpre, news, image, user); if (SaveImage(ImagePath.TopTenNewsImage, fileName, newForInsert.Image)) { newForInsert = new CreateNews(); ViewBag.Message = "Successfully Inserter."; ModelState.Clear(); } } else { ModelState.AddModelError("INSERT", "Oops ! There is some error."); ViewBag.Message = "Oops ! There is some error."; } dbHelpre.CommitTransaction(); return View(newForInsert); } catch (Exception ex) { dbHelpre.RollbackTransaction(); throw ex; } finally { dbHelpre.Dispose(); BLInstance.Dispose(); } })); }