public ActionResult InstallCartridge(int departmentID, int deviceID = -1, int cartridgeID = -1)
        {
            List <p000047> devices        = db.p000047.Where(x => x.kod_p000044 == departmentID).ToList();
            FitDevice      fit_cartridges = new FitDevice();

            ViewBag.Devices = devices;
            if (deviceID == -1 || depID != departmentID)
            {
                depID = departmentID;
                return(PartialView("ShowDevice"));//Если не передано deviceID, то добавляем один инпут с выбором девайса для этого отдела+
            }
            else
            {
                if (cartridgeID == -1 || devID != deviceID)
                {
                    devID = deviceID;
                    ViewBag.Cartridges = fit_cartridges.GetCatridges(deviceID);
                    ViewBag.DeviceID   = deviceID;
                    return(PartialView("ShowDevicesAndCartridges"));//Если передан девайсИД, но не передан картриджИД, то добавляем к изначальной форме два инпута(с выбором девайса для этого отдела и выбором картриджа для этого девайса)+
                }
                else
                {
                    List <p000054> install_list             = db.p000054.Where(x => x.kod_p000047 == deviceID).ToList();//Список всех установленных картриджей на это устройство
                    p000054        last_installed_cartridge = install_list.FirstOrDefault(x => x.date == install_list.Max(z => z.date));
                    p000054        install = new p000054();
                    int            licID   = cartridgeID;
                    if (last_installed_cartridge != null)
                    {
                        licID = last_installed_cartridge.kod_p000052;
                        db.CartridgeChangeStatus(last_installed_cartridge.kod_p000052, 6);//Ложим картридж, который был установлен на этом девайсе в коробку
                    }
                    //wr.GetRequest(departmentID, deviceID, licID, Server.MapPath("~/Content/install_request1.docx"), Server.MapPath("~/Content/install_request.docx"));
                    OpenXML instReq = new OpenXML();
                    install_request = instReq.CreatePackageAsBytes(departmentID, deviceID, licID);
                    db.CartridgeChangeStatus(cartridgeID, 3);//Устанавливаем картридж
                    install.kod_p000052 = cartridgeID;
                    install.kod_p000047 = deviceID;
                    install.date        = DateTime.Now;
                    db.p000054.Add(install);
                    db.SaveChanges();                              //Добавялем запись в 54 таблицу
                    return(PartialView("InstallCartridgeReport")); //Если переданы значения с формы, то нужно найти картриджИД с таким девайсИД и максимальной датой в таблице 54, после чего для этого картриджа в таблице 52 изменить значение статусИД на !в коробке!. Потом для для картриджИД из формы нужно изменить статусИД на установлен и записать в таблицу 54 новую запись+
                }
            }
        }
        public ActionResult ChangeStatus(int cartridgeID, int statusID, int deviceID = -1)
        {
            ViewBag.Devices     = db.p000047.ToList();
            ViewBag.Departments = db.p000044.ToList();
            ViewBag.Models      = db.p000045.ToList();
            ViewBag.Devices     = db.p000047.ToList();
            FitDevice fit_device = new FitDevice();

            if (deviceID == -1)
            {
                if (statusID == 3)
                {
                    try
                    {
                        ViewBag.FitDevices = fit_device.GetDevices(cartridgeID);
                        return(PartialView("AddInputStatus"));//Добавляем в форму еще инпут с deviceID +
                    }
                    catch
                    {
                        ViewBag.Message = "Данного картриджа уже нет в базе";
                        return(PartialView("Sucsess"));
                    }
                }
                else
                {
                    try
                    {
                        db.CartridgeChangeStatus(cartridgeID, statusID);
                        ViewBag.Message = "База обновлена";
                    }
                    catch
                    {
                        ViewBag.Message = "Данного картриджа уже нет в базе";
                    }
                    return(PartialView("Sucsess"));//Нужно вызвать функцию бд, которая изменит таблцу 52 для этого cartridgeID и запишет данные в 53 таблицу(там тригер, ничего не нужно)+
                }
            }
            else
            {
                if (statusID == 3)
                {
                    try
                    {
                        db.CartridgeChangeStatus(cartridgeID, statusID);
                        p000054 install = new p000054();
                        install.kod_p000052 = cartridgeID;
                        install.kod_p000047 = deviceID;
                        install.date        = DateTime.Now;
                        db.p000054.Add(install);
                        db.SaveChanges();
                        ViewBag.Message = "База обновлена";
                    }
                    catch
                    {
                        ViewBag.Message = "Данного картриджа уже нет в базе";
                    }
                    return(PartialView("Sucsess"));//Нужно вызвать функцию бд, которая изменит таблицу 52 для этого cartridgeID и запишет данные в таблицу 54+
                }
                else
                {
                    ViewBag.Message = "Неверный ввод данных";
                    return(PartialView("Sucsess"));//Нужно вернуть ошибку о неверном вводе данных
                }
            }
        }