/// <summary>
        /// Is called when an QR Code is scanned in an mobile device
        /// It prepares All Information of an specifict product and pass it to the Wizard View
        /// </summary>
        /// <param name="id">Product id</param>
        /// <returns>Product Wizard View with specified product data</returns>
        public IActionResult Wizard(long id)
        {
            var            product = _unityOfWork.Product.GetByIdDetailed(id);
            List <Product> childs  = _unityOfWork.Product.getChilds(id);

            ViewBag.childs = childs;
            List <ProductHistoryViewModelDetail> histories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                histories.Add(history);
            }
            histories.Sort((x, y) => DateTime.Compare(x.History.Date, y.History.Date));

            ViewBag.histories   = histories;
            ViewBag.HistoryType = _unityOfWork.History.GetAll();



            return(View(product));
        }
        public JsonResult HistoryTableJson(long id)
        {
            var product = _unityOfWork.Product.GetByIdDetailed(id);
            List <ProductHistoryViewModelDetail> histories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                histories.Add(history);
            }
            ViewBag.histories = histories;
            return(Json(histories));
        }
        public PartialViewResult TimeLine(long id)
        {
            var product = _unityOfWork.Product.GetByIdDetailed(id);
            List <ProductHistoryViewModelDetail> histories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                histories.Add(history);
            }
            histories.Sort((x, y) => DateTime.Compare(y.History.Date, x.History.Date));
            ViewBag.histories = histories;
            return(PartialView("TimeLine"));
        }
Пример #4
0
        public ActionResult TimeLine(long id)
        {
            var product = _unityOfWork.Product.getProductWithHistory(id);
            List <ProductHistoryViewModelDetail> productHistories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    Date     = productHistory.Date.ToString("dd/MM/yyyy"),
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                productHistories.Add(history);
            }
            ViewBag.ProductDescription = product.Description;
            ViewBag.SerialNumber       = product.SerialNumber;
            ViewBag.ProductID          = product.ID;
            productHistories.Sort((x, y) => DateTime.Compare(y.History.Date, x.History.Date));
            return(View(productHistories));
        }
Пример #5
0
        public ActionResult Details(int id)
        {
            ViewBag.HistoryType = _unityOfWork.History.GetAll();
            var product = _unityOfWork.Product.getProductWithHistory(id);
            List <ProductHistoryViewModelDetail> productHistories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                productHistories.Add(history);
            }
            productHistories.Sort((y, x) => DateTime.Compare(x.History.Date, y.History.Date));

            ViewBag.ProductDescription = product.Description;
            ViewBag.SerialNumber       = product.SerialNumber;
            ViewBag.ProductID          = product.ID;
            return(View(productHistories));
        }
Пример #6
0
        public PartialViewResult ProductDetail(long id)
        {
            var            product = _unityOfWork.Product.GetByIdDetailed(id);
            List <Product> childs  = _unityOfWork.Product.getChilds(id);

            ViewBag.childs = childs;
            List <ProductHistoryViewModelDetail> histories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                histories.Add(history);
            }
            ViewBag.histories   = histories;
            ViewBag.HistoryType = _unityOfWork.History.GetAll();

            return(PartialView("_ProductDetail", product));
        }
        public IActionResult Detail(long id)
        {
            var            product = _unityOfWork.Product.GetByIdDetailed(id);
            List <Product> childs  = _unityOfWork.Product.getChilds(id);

            ViewBag.childs = childs;
            List <ProductHistoryViewModelDetail> histories = new List <ProductHistoryViewModelDetail>();

            foreach (var productHistory in product.ProductHistories)
            {
                ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail()
                {
                    History  = productHistory,
                    UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName
                };
                histories.Add(history);
            }
            histories.Sort((x, y) => DateTime.Compare(y.History.Date, x.History.Date));
            ViewBag.histories   = histories;
            ViewBag.HistoryType = _unityOfWork.History.GetAll();

            var QRCode = _unityOfWork.Index_QR.GetByProductId(id);

            List <Product> parents = new List <Product>();

            parents = _unityOfWork.Product.getParents(product, parents);
            List <ProductSoftwareOptions> softwareOptions = _db.ProductSoftwareOptions.Where(x => x.ProductID == id).Include(b => b.SoftwareOption).Include(c => c.SoftwareType).ToList();

            ViewBag.ListOfSoftwareOptions = softwareOptions;
            if (softwareOptions.Count != 0)
            {
                ViewBag.SoftwareType = softwareOptions[0].SoftwareType.Name;
            }

            if (QRCode != null)
            {
                var host = Request.Host;
                ViewBag.QrCode = QRHelper.GenerateQRCode("http://" + host.Host + Url.Action("Redirect", "Index_QR", new { id = QRCode.Id }));
            }
            else
            {
                ViewBag.QrCode = new HtmlString("<a class='float-right text-center' href=" + Url.Action("Create", "Index_QR", new { productID = id, controllerName = "Product", actionName = "Wizard" }) + "> Generate QR Code" + "<img src='/images/addqr.png' height='150' width='150'></img>" + "</a>");
            }

            ViewBag.Files = product.ProductHistories.Where(b => b.FileID != null).ToList();

            //  var products1 = _unityOfWork.Product.getChilds(id);

            /*  if (softwareOptions!= null)
             * {
             *     if (softwareOptions[0].SoftwareType.Name == "DAB+" || softwareOptions[0].SoftwareType.Name == "FM")
             *     {
             *         LicenseV2 myLicense = new LicenseV2()
             *         {
             *             SerialNumber = product.SerialNumber,
             *             ExpirationDate = Convert.ToDateTime(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Expiration Date").Value),
             *             Customer = product.Customer,
             *             LicenseIsInfinite = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Lincense Is Infinite").Value)),
             *             NrBreakinChannels = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of BreakIn Channels").Value)  ?? 0,
             *             NrEmsembles = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Ensembles").Value) ?? 0,
             *             NrEmsemblesBreakIn = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Ensembles Break In").Value)??0, // Option name würde mit N neu geschrieben
             *             NrOfChannels = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Channels").Value) ?? 0,
             *             Product = product,
             *             VBIType = softwareOptions[0].SoftwareType.Name,
             *             Warranty = Convert.ToDateTime(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Warranty Expiration Date").Value),
             *         };
             *         myLicense.VBIOptions["2ndOutput"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Dual Output(2 RF Tx)").Value));
             *         myLicense.VBIOptions["2ndInput"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "2nd RF Input").Value));
             *         myLicense.VBIOptions["VOIP"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "MP3/VoIP").Value));
             *         myLicense.VBIOptions["Playout"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Playout").Value));
             *         myLicense.VBIOptions["MultiAudio"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Dual Voice Break-In").Value));
             *         myLicense.VBIOptions["NoLogin"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "No Config Login").Value));
             *         myLicense.VBIOptions["OEM"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "OEM Mode").Value));
             *     }
             * }*/


            /*     product.Customer.ID = 0;
             * LicenseV2 license = new LicenseV2()
             *   {
             *       SerialNumber = "1712060001",
             *       ExpirationDate = Convert.ToDateTime("12/12/20"),
             *       Customer = product.Customer,
             *       LicenseIsInfinite = true,
             *       NrOfChannels = 4,
             *       NrBreakinChannels = 4,
             *      // NrEmsembles = Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Emsembles").Value),
             *     //  NrEmsemblesBreakIn = Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Emsembles").Value),
             *       Product = product,
             *       VBIType = "DAB",
             *       Warranty = Convert.ToDateTime("12/12/2020"),
             *   };
             *   license.VBIOptions["2ndOutput"] = false;
             *   license.VBIOptions["2ndInput"] = false;
             *   license.VBIOptions["VOIP"] = false;
             *   license.VBIOptions["Playout"] = false;
             *   license.VBIOptions["MultiAudio"] = false;
             *   license.VBIOptions["NoLogin"] = false;
             *   license.VBIOptions["OEM"] = false;
             *
             *   UInt32 serial = UInt32.Parse("1712060001");
             *
             *   var lic = license.getLincence();
             *
             *
             *
             *
             *   var enc =  PCWKeyGen.generateKey(lic, serial);
             *
             *   var key = PCWKeyGen.keyAsString(enc);
             *
             *  var enc = PrecLicenseGenerator.PCWKeyGen.generateKey(lic, serial);
             *
             *   Console.WriteLine(enc);*/



            return(View(product));
        }