예제 #1
0
        protected override void Dispose(bool disposing)
        {
            if (disposing && _context != null)
            {
                _context.Dispose();
                _context = null;
            }

            base.Dispose(disposing);
        }
예제 #2
0
        public async Task <IHttpActionResult> PictureUploadPost()
        {
            var request = HttpContext.Current.Request;

            var validationRules = new FlowValidationRules();

            validationRules.AcceptedExtensions.AddRange(new List <string> {
                "jpeg", "jpg", "png", "bmp"
            });
            validationRules.MaxFileSize = 5000000;

            try
            {
                var status = _flowJs.PostChunk(request, Folder, validationRules);

                if (status.Status == PostChunkStatus.Done)
                {
                    #region Amazon S3
                    // file uploade is complete. Below is an example of further file handling
                    //var filePath = Path.Combine(Folder, status.FileName);
                    //var file = File.ReadAllBytes(filePath);
                    //var picture = await _fileManager.UploadPictureToS3(User.Identity.GetUserId(), file, status.FileName);
                    //File.Delete(filePath);
                    //return Ok(file);
                    #endregion
                    var filePath           = Path.Combine(Folder, status.FileName);
                    var file               = File.ReadAllBytes(filePath);
                    var enhancedIdentifier = status.Identifier.Substring(0, 5) + Math.Ceiling((DateTime.Now - DateTime.MinValue).TotalMilliseconds);

                    Image image;
                    using (ClassifiedContext _db = new ClassifiedContext())
                    {
                        if (_db.Images.Where(i => i.Identifier == enhancedIdentifier).FirstOrDefault() != null)
                        {
                            return(Ok("Already Exist!"));
                        }

                        image            = new Image();
                        image.Path       = filePath;
                        image.Identifier = enhancedIdentifier;
                        _db.Images.Add(image);
                        _db.SaveChanges();
                    }

                    return(Ok(image.Identifier));
                }

                if (status.Status == PostChunkStatus.PartlyDone)
                {
                    return(Ok());
                }

                status.ErrorMessages.ForEach(x => ModelState.AddModelError("file", x));
                return(BadRequest(ModelState));
            }
            catch (Exception)
            {
                ModelState.AddModelError("file", "exception");
                return(BadRequest(ModelState));
            }
        }
예제 #3
0
 // implementação obrigatório de função depois de herdar o base respository
 // passado contexto para classe pai
 public classifiedRepository(ClassifiedContext context) : base(context)
 {
 }
 protected override void Seed(ClassifiedContext context)
 {
     base.Seed(context);
 }
예제 #5
0
 //função base para implementar em outros repositórios
 public baseRepository(ClassifiedContext context)
 {
     this.context = context;
     dbSet        = context.Set <T>();
 }
예제 #6
0
 public ActionResult Index()
 {
     _context           = new ClassifiedContext();
     ViewBag.Categories = _context.Categories.Where(c => c.IsActive == true).ToList();
     return(View());
 }