public async Task <IHttpActionResult> PostNotification(int id)
        {
            Utilisateur u       = UserHelper.getUser(User, db);
            var         request = from notifications in db.NotificationSet where notifications.OffreId.Equals(id) where notifications.UtilisateurId.Equals(u.Id) select notifications;

            if (request != null)
            {
                return(BadRequest("Une notification a déjà été envoyé pour cette offre"));
            }
            Notification notif = new Notification()
            {
                OffreId = id, Date = DateTime.Now, UtilisateurId = u.Id
            };

            db.NotificationSet.Add(notif);
            try
            {
                await db.SaveChangesAsync();

                return(Created("DefaultApi", notif));
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }
Example #2
0
        public async Task <ActionResult> Create([Bind(Include = "Name,FolderId")] File file, HttpPostedFileBase Parvandeh)
        {
            var _Bytes = new byte[Parvandeh.ContentLength];

            Parvandeh.InputStream.Read(_Bytes, 0, Parvandeh.ContentLength);
            file.Bytes  = _Bytes;
            file.Lenght = Parvandeh.ContentLength;
            file.Type   = Parvandeh.ContentType;

            if (ModelState.IsValid)
            {
                file.Name = Guid.NewGuid();
                db.Files.Add(file);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.FolderId = new SelectList(db.Folders, "Id", "Name", file.FolderId);
            if (Request.IsAjaxRequest())
            {
                return(PartialView(file));
            }
            return(View(file));
        }
Example #3
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Parent,Name")] Folder folder)
        {
            if (ModelState.IsValid)
            {
                db.Folders.Add(folder);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(folder));
            }
            return(View(folder));
        }
Example #4
0
        public async Task <ActionResult> Create([Bind(Include = "Id,InstrumentId,StringerId")] A1 a1)
        {
            if (ModelState.IsValid)
            {
                db.A1.Add(a1);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.InstrumentId = new SelectList(db.Instruments, "Id", "Name");
            ViewBag.StringerId   = new SelectList(db.Stringers, "Id", "Fullname");
            if (Request.IsAjaxRequest())
            {
                return(PartialView(a1));
            }
            return(View(a1));
        }
Example #5
0
        public async Task <ActionResult> Create([Bind(Include = "Id,TrackId,ConcertId")] A3 a3)
        {
            if (ModelState.IsValid)
            {
                db.A3.Add(a3);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.TrackId   = new SelectList(db.Tracks, "Id", "Name");
            ViewBag.ConcertId = new SelectList(db.Concerts, "Id", "Date");
            if (Request.IsAjaxRequest())
            {
                return(PartialView(a3));
            }
            return(View(a3));
        }
Example #6
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Title,Abstract,Text")] News news, HttpPostedFileBase thumbnail)
        {
            news.Thumbnail = Thumbnail.Create(thumbnail);
            news.Date      = DateTime.Now.ToLongDateString();
            if (ModelState.IsValid)
            {
                db.News.Add(news);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(news));
            }
            return(View(news));
        }
Example #7
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Date,Address,Description")] Concert concert, HttpPostedFileBase thumbnail)
        {
            concert.Thumbnail = Thumbnail.Create(thumbnail);
            if (ModelState.IsValid)
            {
                concert.Id = Guid.NewGuid();
                db.Concerts.Add(concert);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(concert));
            }
            return(View(concert));
        }
Example #8
0
        public async Task <ActionResult> DeleteConfirmed(Guid id)
        {
            Picture picture = await db.Pics.FindAsync(id);

            db.Pics.Remove(picture);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #9
0
        public async Task <ActionResult> Create([Bind(Include = "Id,FirstName,LastName,BirthYear,Text")] Stringer stringer, HttpPostedFileBase thumbnail)
        {
            stringer.Thumbnail = Thumbnail.Create(thumbnail);
            if (ModelState.IsValid)
            {
                stringer.Id = Guid.NewGuid();
                db.Stringers.Add(stringer);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(stringer));
            }
            return(View(stringer));
        }
Example #10
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Title,Text")] Genus genus, HttpPostedFileBase thumbnail)
        {
            genus.Thumbnail = Thumbnail.Create(thumbnail);
            if (ModelState.IsValid)
            {
                genus.Id = Guid.NewGuid();
                db.Genus.Add(genus);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(genus));
            }
            return(View(genus));
        }
Example #11
0
        [ResponseType(typeof(Offre))] // Void to Offre pour typeof
        public async Task <IHttpActionResult> PutOffre(int id, [FromBody] Offre offre)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (id != offre.Id)
            {
                return(BadRequest());
            }

            Offre offreOrigin = await db.OffreSet.FindAsync(id);

            if (offreOrigin.Utilisateur.UserId != User.Identity.GetUserId())
            {
                return(Unauthorized());
            }
            else
            {
                offre.UtilisateurId = offreOrigin.UtilisateurId;
            }


            db.Entry(offreOrigin).CurrentValues.SetValues(offre);


            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OffreExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(offre));
        }
Example #12
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Name,Text,ComposerId")] Track track, HttpPostedFileBase thumbnail)
        {
            track.Thumbnail = Thumbnail.Create(thumbnail);
            if (ModelState.IsValid)
            {
                track.Id = Guid.NewGuid();
                db.Tracks.Add(track);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.ComposerId = new SelectList(db.Composers, "Id", "Fullname", track.ComposerId);
            if (Request.IsAjaxRequest())
            {
                return(PartialView(track));
            }
            return(View(track));
        }
        public async Task <ActionResult> Create([Bind(Include = "Id,Name,Text,GenusId")] Instrument instrument, HttpPostedFileBase thumbnail)
        {
            instrument.Thumbnail = Thumbnail.Create(thumbnail);
            if (ModelState.IsValid)
            {
                instrument.Id = Guid.NewGuid();
                db.Instruments.Add(instrument);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.GenusId = new SelectList(db.Genus, "Id", "Title");
            if (Request.IsAjaxRequest())
            {
                return(PartialView(instrument));
            }
            return(View(instrument));
        }
Example #14
0
        public async Task <bool> CreateChatSettings(ModelContainer db, TelegramChat chat, AlertType type)
        {
            db.TelegramChatSettings.Add(new TelegramChatSetting()
            {
                TelegramChatId = chat.Id,
                Type           = type
            });
            await db.SaveChangesAsync().ConfigureAwait(false);

            return(true);
        }
Example #15
0
        public async Task <IHttpActionResult> MettreFav(int id)
        {
            var utilisateur             = UserHelper.getUser(User, db);
            IQueryable <Favori> request = null;

            request = from favs in db.FavoriSet where favs.OffreId.Equals(id) select favs;
            if (request.Count() == 0)
            {
                db.FavoriSet.Add(new Favori()
                {
                    UtilisateurId = utilisateur.Id,
                    OffreId       = id
                });
                await db.SaveChangesAsync();

                return(Ok());
            }
            else
            {
                return(Ok("Cette offre est déjà en favori"));
            }
        }
Example #16
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Title,Url")] Adverties adverties, HttpPostedFileBase Image)
        {
            var _Bytes = new byte[Image.ContentLength];

            Image.InputStream.Read(_Bytes, 0, Image.ContentLength);

            adverties.Image = _Bytes;

            if (ModelState.IsValid)
            {
                db.Adverties.Add(adverties);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView(adverties));
            }
            return(View(adverties));
        }
Example #17
0
        public async Task <bool> RegisterChat(ModelContainer db, long chatId, string phoneNumber)
        {
            if (await EntityFrameworkQueryableExtensions.AnyAsync(db.TelegramChats, x => x.ChatId == chatId && x.Number == phoneNumber))
            {
                return(false);
            }

            db.TelegramChats.Add(new TelegramChat {
                ChatId = chatId, Number = phoneNumber
            });
            await db.SaveChangesAsync();

            return(true);
        }
Example #18
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Title,Description")] Picture picture, HttpPostedFileBase Pic)
        {
            ModelContainer db = new ModelContainer();

            var _Bytes = new byte[Pic.ContentLength];

            Pic.InputStream.Read(_Bytes, 0, Pic.ContentLength);
            picture.Bytes = _Bytes;
            Image _Image;

            using (var ms = new MemoryStream(_Bytes))
            {
                _Image = Image.FromStream(ms);
            }
            picture.Thumb = ConvertImageToByte(ResizeImage(_Image, new Size(200, 100)));
            picture.Id    = Guid.NewGuid();

            if (ModelState.IsValid)
            {
                db.Pics.Add(picture);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.ConcertId    = new SelectList(db.Concerts, "Id", "Date", picture.ConcertId);
            ViewBag.StringerId   = new SelectList(db.Stringers, "Id", "FirstName", picture.StringerId);
            ViewBag.TrackId      = new SelectList(db.Tracks, "Id", "Name", picture.TrackId);
            ViewBag.LeaderId     = new SelectList(db.Leaders, "Id", "FirstName", picture.LeaderId);
            ViewBag.InstrumentId = new SelectList(db.Instruments, "Id", "Name", picture.InstrumentId);
            ViewBag.GenusId      = new SelectList(db.Genus, "Id", "Title", picture.GenusId);
            ViewBag.ComposerId   = new SelectList(db.Composers, "Id", "Fullname", picture.ComposerId);
            ViewBag.NewsId       = new SelectList(db.News, "Id", "Title", picture.NewsId);

            if (Request.IsAjaxRequest())
            {
                return(PartialView(picture));
            }
            return(View(picture));
        }
Example #19
0
 public async Task <int> addLieu(Lieu lieu)
 {
     db.LieuSet.Add(lieu);
     return(await db.SaveChangesAsync());
 }
Example #20
0
        // RECUPERATION DE L'IMAGE - POST
        public async Task <HttpResponseMessage> PostFichier(int id)
        {
            //vérifie que l'utilisteur soit le créateur de l'offre

            Offre o = await db.OffreSet.FindAsync(id);

            if (o.UtilisateurId != UserHelper.getUser(User, db).Id)
            {
                return(new HttpResponseMessage(HttpStatusCode.Unauthorized));
            }

            string dataDirectory = "Images/";

            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            string root     = HttpContext.Current.Server.MapPath("~/" + dataDirectory);
            var    provider = new MultipartFormDataStreamProvider(root);


            HttpResponseMessage ret = new HttpResponseMessage(HttpStatusCode.Created);

            try
            {
                // Read the form data.
                await Request.Content.ReadAsMultipartAsync(provider);

                // This illustrates how to get the file names.

                foreach (MultipartFileData file in provider.FileData)
                {
                    string   type  = file.Headers.ContentDisposition.Name;
                    string   type2 = type.TrimStart('"');
                    string[] type3 = type2.Split('_');

                    string  localName = file.LocalFileName.Substring(file.LocalFileName.LastIndexOf("\\") + 1);
                    string  url       = Request.RequestUri.AbsoluteUri;
                    Fichier fichier   = new Fichier()
                    {
                        OffreId       = id,
                        Titre         = file.Headers.ContentDisposition.FileName,
                        Chemin        = file.LocalFileName,
                        FichierTypeId = Int32.Parse(type3[0]),
                        contentType   = file.Headers.ContentType.ToString(),
                        url           = ""
                    };
                    //Trace.WriteLine(file.Headers.ContentDisposition.FileName);
                    //Trace.WriteLine("Server file path: " + file.LocalFileName);
                    db.FichierSet.Add(fichier);
                    await db.SaveChangesAsync();

                    fichier.url = url.Substring(0, url.IndexOf("api")) + "api/fichiers/" + fichier.Id;
                    await db.SaveChangesAsync();
                }
                return(ret);
            }
            catch (System.Exception e)
            {
                HttpResponseMessage err = new HttpResponseMessage(HttpStatusCode.InternalServerError);
                err.Content = new StringContent(e.ToString());
                return(err);
            }
        }