public ActionResult Add(AddMonitorBm bind, IEnumerable <HttpPostedFileBase> Images)
        {
            if (this.ModelState.IsValid)
            {
                foreach (var img in Images)
                {
                    if (img != null)
                    {
                        if (img.ContentLength > (5 * 1024 * 1024))
                        {
                            ModelState.AddModelError("Custom Error", "File size must be less than 5 MB");
                            return(View());
                        }
                        if (img.ContentType != "image/jpeg")
                        {
                            ModelState.AddModelError("CustomError", "File type must be \"jpeg\"");
                            return(View());
                        }
                    }

                    this.service.AddNewMonitor(bind, Images);

                    return(RedirectToAction("AdminMonitorsList"));
                }
            }

            return(this.View());
        }
Пример #2
0
        public void AddNewMonitor(AddMonitorBm bind, IEnumerable <HttpPostedFileBase> images)
        {
            Monitor monitor = Mapper.Map <AddMonitorBm, Monitor>(bind);
            int     i       = 1;

            foreach (var img in images)
            {
                if (img != null)
                {
                    switch (i)
                    {
                    case 1:
                        monitor.Image1 = new byte[img.ContentLength];
                        img.InputStream.Read(monitor.Image1, 0, img.ContentLength);
                        break;

                    case 2:
                        monitor.Image2 = new byte[img.ContentLength];
                        img.InputStream.Read(monitor.Image2, 0, img.ContentLength);
                        break;

                    case 3:
                        monitor.Image3 = new byte[img.ContentLength];
                        img.InputStream.Read(monitor.Image3, 0, img.ContentLength);
                        break;

                    case 4:
                        monitor.Image4 = new byte[img.ContentLength];
                        img.InputStream.Read(monitor.Image4, 0, img.ContentLength);
                        break;

                    case 5:
                        monitor.Image5 = new byte[img.ContentLength];
                        img.InputStream.Read(monitor.Image5, 0, img.ContentLength);
                        break;
                    }
                    i++;
                }
            }
            this.Context.Monitors.Add(monitor);
            this.Context.SaveChanges();
        }