Esempio n. 1
0
        public ActionResult UpdateToOrders(string type, string id, string mode)
        {
            try
            {
                ViewBag.Type = type;
                ViewBag.Mode = mode;

                if (type == "buy")
                {
                    ViewBag.Element = manager.GetContext().BuyOrders.Find(Convert.ToInt32(id));
                }
                else
                {
                    ViewBag.Element = manager.GetContext().ReadingOrders.Find(Convert.ToInt32(id));
                }

                Book book = manager.GetContext().Lib.Find(ViewBag.Element.Id_book);
                ViewBag.Id_empl  = manager.GetContext().Employees.Find(ViewBag.Element.Id_employee).Id;
                ViewBag.Employee = manager.GetContext().Employees.Find(ViewBag.Element.Id_employee).FIO;
                ViewBag.Books    = manager.GetContext().Lib;
                List <string> names = new List <string>();
                foreach (var em in manager.GetContext().Employees)
                {
                    names.Add(em.FIO);
                }
                ViewBag.ListEmployees = names;
                ViewBag.BookName      = book.Book_title;
                ViewBag.Short_desc    = book.Short_description;
                if (mode == "delete")
                {
                    if (type == "buy")
                    {
                        var order      = manager.GetContext().BuyOrders.Find(Convert.ToInt32(Request.Params["id"]));
                        var innerCount = manager.GetContext().ReadingOrders.Where(s => s.Id_book == order.Id_book);
                        if (innerCount.Count() > 0)
                        {
                            foreach (var el in innerCount)
                            {
                                DeleteHelper.FromReadingOrder(el.Id);
                            }
                        }
                        DeleteHelper.FromBuyOrder(order.Id);
                        DeleteHelper.FromBook(manager.GetContext().Lib.Find(order.Id_book).Id);
                    }
                    else
                    {
                        DeleteHelper.FromReadingOrder(Convert.ToInt32(id));
                    }
                    string message = "Запись удалена";
                    Response.Redirect("/Home/Orders?message=" + message + "&type=" + type);
                }
                return(View());
            }
            catch (Exception ex)
            {
                string message = "Не удалось обновить запись";
                Response.Redirect("/Home/Orders?message=" + message + "&type=" + type);
                return(View());
            }
        }