示例#1
0
        public ActionResult Edit(int id)
        {
            var            editList = db.Database.SqlQuery <SELECTRentalHeader_Result>("SELECTRentalHeader @id", new SqlParameter("@id", id)).FirstOrDefault();
            DisplayRecords records  = new DisplayRecords();

            if (editList != null)
            {
                records = new DisplayRecords
                {
                    RentalID     = id,
                    CustomerName = db.Database.SqlQuery <SELECTCustomer>("SELECTCustomers @CustomerFK", new SqlParameter("@CustomerFK", editList.CustomerFK)).Select(c => c.CustomerName).FirstOrDefault().ToString(),
                    DateRented   = editList.DateRented,
                    CustomerFK   = editList.CustomerFK
                };
            }
            if (id != 0)
            {
                var rented = db.Database.SqlQuery <SELECTRented>("SELECTRented @id", new SqlParameter("@id", id)).ToList();
                records.SELECTRented = rented.ToList();
            }


            return(View(records));
        }
示例#2
0
        public ActionResult Edit(DisplayRecords displayRecords, string newMovieIdholder)
        {
            var rid           = displayRecords.RentalID;
            var scopeIdentity = 0;

            if (displayRecords != null)
            {
                if (displayRecords.RentalID == 0)
                {
                    //Return the SCOPE_IDENTITY() from sp!
                    var returnValue = new SqlParameter("@RentalID", SqlDbType.Int)
                    {
                        Direction = ParameterDirection.Output
                    };

                    SqlParameter[] parameters =
                    {
                        new SqlParameter("@CustomerFK", displayRecords.CustomerFK),
                        new SqlParameter("@DateRented", displayRecords.DateRented),
                        returnValue
                    };

                    if (displayRecords.CustomerFK != null && displayRecords.DateRented != null)
                    {
                        db.Database.ExecuteSqlCommand("exec @RentalID = INSERTRentalHeader @CustomerFK, @DateRented",
                                                      parameters);

                        scopeIdentity = (int)returnValue.Value;
                    }
                    //else { Error Message }

                    //SqlParameter[] param =
                    //{
                    //  new SqlParameter("@MovieFK",Convert.ToInt32(newMovieIdholder)),
                    //  new SqlParameter("@DateReturned", DBNull.Value),
                    //  new SqlParameter("@RentalFK", scopeIdentity)

                    //};

                    //if (newMovieIdholder != null && displayRecords.DateRented != null)
                    //{
                    //    db.Database.ExecuteSqlCommand("exec INSERTRentedMovies @MovieFK, @DateReturned, @RentalFK",
                    //    param);
                    //}

                    if (!string.IsNullOrEmpty(newMovieIdholder))
                    {
                        //*Convert the value into string Array[] and split w/ comma!
                        string[] newmovies = newMovieIdholder.Split(',');
                        //newmovies = new[] { "1", "2", "5", "6"};

                        //*Loop inside newmovies!
                        for (int i = 0; i < newmovies.Count(); i++)
                        {
                            SqlParameter[] param =
                            {
                                new SqlParameter("@MovieFK",      Convert.ToInt32(newmovies[i])),
                                new SqlParameter("@DateReturned", DBNull.Value),
                                new SqlParameter("@RentalFK",     scopeIdentity)
                            };

                            if (newMovieIdholder != null && displayRecords.DateRented != null)
                            {
                                db.Database.ExecuteSqlCommand("exec INSERTRentedMovies @MovieFK, @DateReturned, @RentalFK",
                                                              param);
                            }
                        }
                    }
                }
                else
                {
                    //var Rentalheader = db.Database.SqlQuery<UPDATERentalHeader>("UPDATERentalHeader @RentalID, @CustomerFK, @DateRented",
                    //    new SqlParameter("@RentalID", displayRecords.RentalID), new SqlParameter("@CustomerFK", displayRecords.CustomerFK),
                    //    new SqlParameter("@DateRented", displayRecords.DateRented)).FirstOrDefault();

                    var Rentalheader = db.Database.ExecuteSqlCommand("UPDATERentalHeader @RentalID, @CustomerFK, @DateRented",
                                                                     new SqlParameter("@RentalID", displayRecords.RentalID),
                                                                     new SqlParameter("@CustomerFK", displayRecords.CustomerFK),
                                                                     new SqlParameter("@DateRented", displayRecords.DateRented));


                    if (displayRecords.SELECTRented != null)
                    {
                        //movies info
                        foreach (var item in displayRecords.SELECTRented)
                        {
                            var param = new SqlParameter();
                            if (item.DateReturned == null)
                            {
                                param = new SqlParameter("@DateReturned", DBNull.Value);
                            }
                            else
                            {
                                param = new SqlParameter("@DateReturned", item.DateReturned);
                            }
                            var RentedMovies = db.Database.ExecuteSqlCommand("UPDATERentedMovies @RentedID, @MovieFK, @DateReturned",
                                                                             new SqlParameter("@RentedID", item.RentedID),
                                                                             new SqlParameter("@MovieFK", item.MovieID),
                                                                             param);
                        }
                    }

                    if (!string.IsNullOrEmpty(newMovieIdholder))
                    {
                        //*Convert the value into string Array[] and split w/ comma!
                        string[] newmovies = newMovieIdholder.Split(',');
                        //newmovies = new[] { "1", "2", "5", "6"};

                        //*Loop inside newmovies!
                        for (int i = 0; i < newmovies.Count(); i++)
                        {
                            SqlParameter[] param =
                            {
                                new SqlParameter("@MovieFK",      Convert.ToInt32(newmovies[i])),
                                new SqlParameter("@DateReturned", DBNull.Value),
                                new SqlParameter("@RentalFK",     displayRecords.RentalID)
                            };

                            if (newMovieIdholder != null && displayRecords.DateRented != null)
                            {
                                db.Database.ExecuteSqlCommand("exec INSERTRentedMovies @MovieFK, @DateReturned, @RentalFK",
                                                              param);
                            }
                        }
                    }
                }
            }
            return(RedirectToAction("Edit", new { id = rid }));
        }