// GET api/<controller> public List <Movie> Get() { movieDBConnection db = new movieDBConnection(); DateTime now = DateTime.Now; return(db.Movies.Where(a => a.PlayTimes.Any(b => b.play >= now) == true).ToList()); }
static public bool is_Valid_projc_time(DateTime projectionTime, long langthTicks) { movieDBConnection db = new movieDBConnection(); List <PlayTime> closestTime = db.PlayTimes.OrderBy(t => t.play).ToList(); if (closestTime.Count == 0) { return(true); } PlayTime close = closestTime[0]; long min = Math.Abs((close.play - projectionTime).Ticks); foreach (PlayTime x in closestTime) { if (Math.Abs((x.play - projectionTime).Ticks) < min) { min = Math.Abs((x.play - projectionTime).Ticks); close = x; } } long duration = (close.play < projectionTime) ? new TimeSpan(0, close.Movie.langth, 0).Ticks : langthTicks; if (Math.Abs((close.play - projectionTime).Ticks) < duration) { return(false); } return(true); }
// PUT: api/Costumer/5 public HttpResponseMessage Put() //add customer { movieDBConnection db = new movieDBConnection(); // init Customer string st = HttpContext.Current.Request.Params["customer"]; Customer c; try { c = JsonConvert.DeserializeObject <Customer>(st); } catch { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "חסרים נתונים בלקוח")); } Customer ct = db.Customers.SingleOrDefault(x => x.id == c.id); if (ct != null) // user in db { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "קיים לקוח במערכת עם ת.ז זהה")); } else { db.Customers.Add(c); db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "הלקוח נוסף בהצלחה")); } }
// GET api/<controller>/5 public List <CustomerBuyTicket> Get(string id) //return all ticket of movie for id by order { movieDBConnection db = new movieDBConnection(); List <CustomerBuyTicket> cbt = db.CustomerBuyTickets .Where(x => x.customer_id == id) .OrderByDescending(a => a.PlayTime.play).ToList(); return(cbt); }
// PUT api/<controller>/5 public CustomerBuyTicket Put(CustomerBuyTicket cbt) { movieDBConnection db = new movieDBConnection(); db.CustomerBuyTickets.Add(cbt); PlayTime p = db.PlayTimes.SingleOrDefault(x => x.id == cbt.playTime_id); p.availble_sits = p.availble_sits - (int)cbt.amount; db.SaveChanges(); return(cbt); }
public Customer isValidCustomer(String id, String pass) { movieDBConnection db = new movieDBConnection(); Customer ct = db.Customers.SingleOrDefault(x => x.id == id); if (ct != null && pass.Equals(ct.pass.Replace(" ", string.Empty))) { return(ct); } return(null); }
// DELETE api/<controller>/5 public void Delete(int id) { movieDBConnection db = new movieDBConnection(); CustomerBuyTicket cbt = db.CustomerBuyTickets.SingleOrDefault(x => x.id == id); db.CustomerBuyTickets.Remove(cbt); PlayTime p = db.PlayTimes.SingleOrDefault(x => x.id == cbt.playTime_id); p.availble_sits = p.availble_sits + (int)cbt.amount; db.SaveChanges(); }
public List <PlayTime> Get(int id) { movieDBConnection db = new movieDBConnection(); return(db.PlayTimes.Where(x => x.movie_id == id).ToList()); }
// PUT api/<controller>/5 public HttpResponseMessage Put() { movieDBConnection db = new movieDBConnection(); // init Movie string st = HttpContext.Current.Request.Params["movie"]; Movie mv; try { mv = JsonConvert.DeserializeObject <Movie>(st); mv.img = "first_img.JPG"; } catch { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "חסרים נתונים בסרט")); } // init playTimes - List <PlayTime> playTList = new List <PlayTime>(); int numOfProj = Convert.ToInt32(HttpContext.Current.Request.Params["numOfProj"]); for (int i = 0; i < numOfProj; i++) { PlayTime pt = new PlayTime(); pt.movie_id = mv.id; DateTime temp; //check valid date string if (!DateTime.TryParse(HttpContext.Current.Request.Params["projection" + i], out temp)) { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "זמן הקרנה לא חוקי")); } pt.play = temp; pt.total_sits = Convert.ToInt32(HttpContext.Current.Request.Params["sits"]); pt.availble_sits = pt.total_sits; // check if projection time is valid if (!PlayTimeController.is_Valid_projc_time(pt.play, new TimeSpan(0, mv.langth, 0).Ticks)) { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "זמן ההקרנה המבוקש תפוס")); } playTList.Add(pt); } mv.PlayTimes = playTList; // save on dataBase try { db.Movies.Add(mv); db.SaveChanges(); } catch { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "בעיה בגישה למס''ד נתונים \n פעולה לא התבצעה")); } // handle Image HttpPostedFile img = HttpContext.Current.Request.Files["img"]; if (img != null) { try { mv.img = mv.id + Path.GetExtension(img.FileName); db.SaveChanges(); // save Image on server img.SaveAs(HttpContext.Current.Server.MapPath("~/images/") + mv.img); } catch { return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "בעיה בשמירת תמונה \n לא נשמרה תמונה")); } } return(Request.CreateResponse(HttpStatusCode.OK, "הסרט נוסף בהצלחה")); }