예제 #1
0
        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)
                       ));
        }
예제 #2
0
        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));
        }
예제 #3
0
        public SongTagFile GetTagInformation(Data.Model.File file, TagOption options = TagOption.All)
        {
            var songTag = GetTagInformation(file.ToString(), options);

            return(songTag);
        }
예제 #4
0
        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());
        }