/// <summary> /// Стандартный конструктор /// </summary> /// <param name="publication">Публикация</param> public PublicationModel(Publication publication) { id = publication.Id; title = publication.Title; img = publication.Image; annotation = publication.Annotation; pdate = publication.PublicationDate.FormatDate(); objType = "publication"; }
private void detach_Publications(Publication entity) { this.SendPropertyChanging(); entity.City = null; }
private void attach_Publications(Publication entity) { this.SendPropertyChanging(); entity.City = this; }
/// <summary> /// Стандартный конструктор /// </summary> /// <param name="publication">Публикация</param> public PublicationDetailsModel(Publication publication) : base(publication) { content = publication.Content; }
public ActionResult Save(Publication model) { var file = Request.Files["Image"]; string imageUrl = null; if (file != null && file.ContentLength > 0 && file.ContentType.ToLower().Contains("image")) { var fileName = Path.ChangeExtension(Path.GetRandomFileName(), ".jpg"); var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Publications"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var fullPath = Path.Combine(path, fileName); ImageHelper.SaveAs(file, fullPath); imageUrl = "/Files/Publications/" + fileName; } if (model.Id <= 0) { model.DateCreated = DateTime.Now; model.Image = imageUrl; Repository.Add(model); Repository.SubmitChanges(); ShowSuccess("Публикация успешно добавлена"); } else { // Ищем var publication = Repository.Load(model.Id); if (publication == null) { ShowError("Такая публикация не найдена"); return RedirectToAction("Index"); } // Пытаемся обновить var oldImage = publication.Image; TryUpdateModel(publication); publication.DateModified = DateTime.Now; publication.Image = imageUrl ?? oldImage; if (publication.City.Id != model.CityId) { publication.City.Publications.Remove(publication); Locator.GetService<ICitiesRepository>().Load(model.CityId).Publications.Add(publication); } Repository.SubmitChanges(); ShowSuccess("Публикация успешно отредактирована"); } return RedirectToAction("Index"); }