public ServiceResult <FileCreateFromRefundDto> AddExpenditureRefundImage(FileCreateFromRefundDto image) { string base64 = image.Image.Substring(image.Image.IndexOf(',') + 1); byte[] data = Convert.FromBase64String(base64); Data.Model.File newFile = new Data.Model.File() { Id = new Guid(), UserId = image.UserId, Path = image.Path, ExpenditureId = image.ExpenditureId, Image = data, MimeType = image.MimeType }; _contextFile.Files.Add(newFile); _contextFile.SaveChanges(); return(new ServiceResult <FileCreateFromRefundDto>( _mapper.Map <FileCreateFromRefundDto>(image) )); }
public ActionResult AddReview(ReviewViewModel model) { if (ModelState.IsValid && model.File != null && model.pubId > 0) { using (DataContext ctx = new DataContext()) { //Review review = new Review(); IUserService userService = new UserService(); string userId = User.Identity.GetUserId(); User currentUser = ctx.Users.Where(u => u.Id == userId).FirstOrDefault(); var revId = from Review rev in ctx.Reviews where rev.PublicationId == model.pubId && rev.UserId == userId select rev.ReviewId; int reviewId = revId.First(); Review review = ctx.Reviews.Find(reviewId); Publication pub = ctx.Publications.Find(model.pubId); //ReviewState state = ctx.ReviewStates.Where(s => s.Name == "Przydzielony").FirstOrDefault(); //review.CurrentState = state; //File string filePath = Server.MapPath("~/Reviews/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = model.File.FileName; fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1); model.File.SaveAs(filePath + fileName); Data.Model.File file = new Data.Model.File() { Name = fileName, Link_source = filePath + fileName, IsCurrent = true, Review = review }; ctx.Files.Add(file); //var original = ctx.Reviews.Find(review); if (review != null) { //review.User = currentUser; //DateTime date = DateTime.Now; //review.Creation_date = date; //date = date.AddDays(14); //review.Expiration_date = date; //review.PublicationId = model.pubId; //review.Publication = pub; review.Files.Add(file); review.CurrentStateId = 2; //ctx.SaveChanges(); } //currentUser.Reviews.Add(review); //ctx.Reviews.Add(review); var fId = from Data.Model.File f in ctx.Files where f.ReviewId == reviewId select f.FileId; if (fId.FirstOrDefault() != default(int)) { int fileId = fId.First(); Data.Model.File fileCheck = ctx.Files.Find(fileId); if (fileCheck != null) { ReviewStateHistory stateHistory = new ReviewStateHistory(); stateHistory.ChangeDate = DateTime.Now; stateHistory.StateId = review.CurrentStateId; stateHistory.ReviewId = reviewId; ctx.ReviewStateHistory.Add(stateHistory); } } var fileOldId = from Data.Model.File f in ctx.Files where f.ReviewId == reviewId && f.IsCurrent == true select f.FileId; if (fileOldId.FirstOrDefault() != default(int)) { Data.Model.File fileOld = ctx.Files.Find(fileOldId.First()); fileOld.IsCurrent = false; } review.Publication = pub; pub.Reviews.Add(review); //Tu moze byc problem //ctx.Entry(pub).State = EntityState.Modified; //ctx.Entry(pub.Reviews).State = EntityState.Modified; ctx.SaveChanges(); return(RedirectToAction("Index")); } } return(View(model)); }
public SongTagFile GetTagInformation(Data.Model.File file, TagOption options = TagOption.All) { var songTag = GetTagInformation(file.ToString(), options); return(songTag); }
public ActionResult EditPub(PublicationViewModel model) { if (ModelState.IsValid) { var ctx = new DataContext(); Publication publication = ctx.Publications.Where(p => p.PublicationId == model.Id).FirstOrDefault(); IUserService userService = new UserService(); string userId = User.Identity.GetUserId(); User currentUser = ctx.Users.Where(u => u.Id == userId).FirstOrDefault(); //User currentUser = userService.GetDBUser(User.Identity.GetUserId()); //Tags string[] tagsSplited = model.Tags.Split(','); for (int i = 0; i < tagsSplited.Length; i++) { tagsSplited[i] = tagsSplited[i].Trim(); } ITagsService tagsService = new TagsService(); tagsService.AddTags(tagsSplited.ToList()); //Publication tags List <PublicationTag> pubTags = new List <PublicationTag>(); for (int i = 0; i < tagsSplited.Length; i++) { Tag tag = tagsService.GetTag(tagsSplited[i]); if (tagsSplited != null) { pubTags.Add(new PublicationTag() { Publication = publication, Tag = tag }); } } ctx.Publication_Tags.AddRange(pubTags); //category ICategoryService categoryService = new CategoryService(); Publication_category category = categoryService.GetCategory(model.Category); #region Sources //sources //string[] sourcesSplited = model.Sources.Split('\n'); //for (int i = 0; i < sourcesSplited.Length; i++) { // sourcesSplited[i] = sourcesSplited[i].Trim(); //} //var sourcesList = sourcesSplited.ToList(); //sourcesList.RemoveAt(sourcesList.Count - 1); //ISourceService sourceService = new SourceService(); //sourceService.AddSources(sourcesList); ////source position //List<SourcePosition> sourcePositions = new List<SourcePosition>(); //for (int i = 0; i < sourcesSplited.Length - 1; i++) { // string sourceName = sourcesSplited[i]; // Source source = ctx.Sources.Where(s => s.Name == sourceName).FirstOrDefault(); // SourcePosition position = new SourcePosition() { // Source = source, // Publication = publication // }; // sourcePositions.Add(position); //} //ctx.SourcePositions.AddRange(sourcePositions); #endregion //File string filePath = Server.MapPath("~/Publications/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = model.File.FileName; fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1); model.File.SaveAs(filePath + fileName); Data.Model.File file = new Data.Model.File() { Name = fileName, Link_source = filePath + fileName, IsCurrent = true, Publication = publication }; //IFileService fileService = new FileService(); //fileService.AddFile(file); ctx.Files.Add(file); publication.Author = currentUser; publication.Title = model.Title; publication.PublicationTags = pubTags; publication.Description = model.Description; //publication.SourcePositions = sourcePositions; publication.Category = category; publication.Files.Add(file); currentUser.Publications.Add(publication); ctx.Publications.AddOrUpdate(publication); ctx.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }