public ActionResult Details(int id, string message, IEnumerable <HttpPostedFileBase> files)
        {
            ViewBag.Message = null;
            displayRepository.AdvertDetails = advertRepository.GetDetails(id);
            displayRepository.Images        = advertRepository.GetAdImages((int)id);
            if (Session["ID"] != null)
            {
                int uID = Convert.ToInt32(Session["ID"]);
                displayRepository.LoggedUser = advertRepository.GetUserData(uID);
            }
            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file != null)
                    {
                        if (file.ContentLength > 2097152)  // 2MB?
                        {
                            ViewBag.Message = "Maksymalny rozmiar zdjęć to 2MB";
                            return(View("Details", displayRepository));
                        }
                    }
                }
            }
            MESSAGE NewMessage = new MESSAGE()
            {
                MSG_FROM  = Convert.ToInt32(Session["ID"]),
                MSG_TO    = displayRepository.AdvertDetails.USER_ID,
                TEXT      = message,
                DATE      = System.DateTime.Now,
                ADVERT_ID = displayRepository.AdvertDetails.ID,
                IS_READ   = false
            };

            db.MESSAGE.Add(NewMessage);
            db.SaveChanges();
            foreach (var file in files)
            {
                if (file != null)
                {
                    var filename       = Guid.NewGuid() + file.FileName;
                    var supportedTypes = new[] { "jpg", "jpeg", "png", "JPG", "JPEG", "PNG" };
                    var fileExt        = System.IO.Path.GetExtension(filename).Substring(1);
                    if (supportedTypes.Contains(fileExt))
                    {
                        file.SaveAs(Server.MapPath("/UploadImage/" + filename));
                        IMAGES_MESSAGE img = new IMAGES_MESSAGE
                        {
                            IMAGE_TITLE = filename,
                            IMAGE_PATH  = "/UploadImage/" + filename,
                            MESSAGE_ID  = NewMessage.ID,
                            MSG_FROM    = NewMessage.MSG_FROM,
                            MSG_TO      = NewMessage.MSG_TO,
                            ADVERT_ID   = NewMessage.ADVERT_ID
                        };
                        db.IMAGES_MESSAGE.Add(img);
                        db.SaveChanges();
                    }
                    else
                    {
                        ViewBag.Message = "Użyto nieobsługiwanego formatu zdjęć. Dozwolone formaty: .jpg .jpeg .png";
                        return(View("Details", displayRepository));
                    }
                }
            }
            ViewBag.Message = "Wiadomość wysłana";
            return(View("Details", displayRepository));
        }
Example #2
0
        public ActionResult Conversation(string message, int UserTo, int AdvertId, IEnumerable <HttpPostedFileBase> files)
        {
            ViewBag.Message = null;
            int UserFrom = Convert.ToInt32(Session["ID"]);

            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file != null)
                    {
                        if (file.ContentLength > 2097152)  // 2MB?
                        {
                            TempData["SizeError"] = "Maksymalny rozmiar zdjęć to 2MB";
                            return(RedirectToAction("Conversation", new { AdvertId, UserA = UserTo, UserB = UserFrom }));
                        }
                    }
                }
            }
            MESSAGE NewMessage = new MESSAGE()
            {
                MSG_FROM  = Convert.ToInt32(Session["ID"]),
                MSG_TO    = UserTo,
                TEXT      = message,
                DATE      = System.DateTime.Now,
                ADVERT_ID = AdvertId,
                IS_READ   = false
            };

            db.MESSAGE.Add(NewMessage);
            db.SaveChanges();
            foreach (var file in files)
            {
                if (file != null)
                {
                    var filename       = Guid.NewGuid() + file.FileName;
                    var supportedTypes = new[] { "jpg", "jpeg", "png", "JPG", "JPEG", "PNG" };
                    var fileExt        = System.IO.Path.GetExtension(filename).Substring(1);
                    if (supportedTypes.Contains(fileExt))
                    {
                        file.SaveAs(Server.MapPath("/UploadImage/" + filename));
                        IMAGES_MESSAGE img = new IMAGES_MESSAGE
                        {
                            IMAGE_TITLE = filename,
                            IMAGE_PATH  = "/UploadImage/" + filename,
                            MESSAGE_ID  = NewMessage.ID,
                            MSG_FROM    = NewMessage.MSG_FROM,
                            MSG_TO      = NewMessage.MSG_TO,
                            ADVERT_ID   = NewMessage.ADVERT_ID
                        };
                        db.IMAGES_MESSAGE.Add(img);
                        db.SaveChanges();
                    }
                    else
                    {
                        TempData["FormatError"] = "Użyto nieobsługiwanego formatu zdjęć. Dozwolone formaty: .jpg .jpeg .png";
                        return(RedirectToAction("Conversation", new { AdvertId, UserA = UserTo, UserB = UserFrom }));
                    }
                }
            }
            return(RedirectToAction("Conversation", new { AdvertId, UserA = UserTo, UserB = UserFrom }));
        }