示例#1
0
        public ActionResult DeleteImage(int evntID, int jeviID, string user)
        {
            int            deletedJEVI = 0;
            Event          evnt        = serv.Get(evntID);
            JoinEventImage jevi        = evnt.JoinEventImages.Single(e => e.ID == jeviID);

            deletedJEVI = jevi.ID;
            iServ.Delete(jevi.ImageID, user);
            evnt.JoinEventImages.Remove(jevi);

            return(Json(new
            {
                status = "OK",
                deletedID = deletedJEVI
            }));
        }
示例#2
0
        public async Task <ActionResult> AddImage(int id, string userName, IFormFile imagefile)
        {
            if (imagefile == null)
            {
                throw new MacheteNullObjectException("AddImage called with null imagefile");
            }

            var joiner = new JoinEventImage();

            var evnt = _eventServ.Get(id);

            var image = new Image();

            image.ImageMimeType = imagefile.ContentType;
            image.parenttable   = "Events";
            image.filename      = imagefile.FileName;
            image.recordkey     = id.ToString();
            using (var stream = new MemoryStream())
            {
                await imagefile.CopyToAsync(stream);

                image.ImageData = stream.ToArray();
            }

            // This should be unnecessary; image will have ID
            Image newImage = _imageServ.Create(image, userName);

            joiner.ImageID     = newImage.ID;
            joiner.EventID     = evnt.ID;
            joiner.datecreated = DateTime.Now;
            joiner.dateupdated = DateTime.Now;
            joiner.updatedby   = userName;
            joiner.createdby   = userName;

            _eventServ.JoinEventImages(evnt, joiner, userName);

            _eventServ.Save(evnt, userName);

            return(Json(new
            {
                status = "OK"
            }));
        }
示例#3
0
        public ActionResult AddImage(int id, string userName, IFormFile imagefile)
        {
            if (imagefile == null)
            {
                throw new MacheteNullObjectException("AddImage called with null imagefile");
            }
            JoinEventImage joiner = new JoinEventImage();
            Event          evnt   = serv.Get(id);
            // TODO:The following code should be in the Service layer
            Image image = new Image();

            image.ImageMimeType = imagefile.ContentType;
            image.parenttable   = "Events";
            image.filename      = imagefile.FileName;
            image.recordkey     = id.ToString();
            image.ImageData     = new byte[imagefile.Length];
            imagefile.OpenReadStream(); //(image.ImageData,
                                        //0,
                                        //imagefile.Length);
            // TODO read the stream, close the file
            Image newImage = iServ.Create(image, userName);

            joiner.ImageID     = newImage.ID;
            joiner.EventID     = evnt.ID;
            joiner.datecreated = DateTime.Now;
            joiner.dateupdated = DateTime.Now;
            joiner.updatedby   = userName;
            joiner.createdby   = userName;
            // TODO: This tightly couples the MVC straight down to EF.
            // breaks layering. Should be abstracted.
            evnt.JoinEventImages.Add(joiner);
            serv.Save(evnt, userName);
            //var foo = iServ.Get(newImage.ID).ImageData;

            return(Json(new
            {
                status = "OK"
            }));
        }
示例#4
0
        public ActionResult AddImage(int id, string user, HttpPostedFileBase imagefile)
        {
            if (imagefile == null)
            {
                throw new MacheteNullObjectException("AddImage called with null imagefile");
            }
            JoinEventImage joiner = new JoinEventImage();
            Event          evnt   = _serv.Get(id);
            // TODO:The following code should be in the Service layer
            Image image = new Image();

            image.ImageMimeType = imagefile.ContentType;
            image.parenttable   = "Events";
            image.filename      = imagefile.FileName;
            image.recordkey     = id.ToString();
            image.ImageData     = new byte[imagefile.ContentLength];
            imagefile.InputStream.Read(image.ImageData,
                                       0,
                                       imagefile.ContentLength);
            Image newImage = iServ.Create(image, user);

            joiner.ImageID     = newImage.ID;
            joiner.EventID     = evnt.ID;
            joiner.datecreated = DateTime.Now;
            joiner.dateupdated = DateTime.Now;
            joiner.updatedby   = user;
            joiner.createdby   = user;
            // TODO: This tightly couples the MVC straight down to EF.
            // breaks layering. Should be abstracted.
            evnt.JoinEventImages.Add(joiner);
            _serv.Save(evnt, user);
            var foo = iServ.Get(newImage.ID).ImageData;

            return(Json(new
            {
                status = "OK"
            },
                        JsonRequestBehavior.AllowGet));
        }
示例#5
0
 public void JoinEventImages(Event record, JoinEventImage joiner, string user)
 {
     record.JoinEventImages.Add(joiner);
 }