public IActionResult NewQuote()
        {
            List <Material> myMaterials  = new List <Material>();
            string          sql          = "SELECT * FROM Material ORDER BY price;";
            MySqlConnection myConnection = new MySqlConnection(connecitonString);
            MySqlCommand    myCommand    = new MySqlCommand(sql, myConnection);

            myConnection.Open();
            MySqlDataReader myReader;

            myReader = myCommand.ExecuteReader();
            // Always call Read before accessing data.
            while (myReader.Read())
            {
                myMaterials.Add(
                    new Material
                {
                    Id          = Int32.Parse(myReader["materialID"].ToString()),
                    Description = myReader["description"].ToString(),
                    Price       = Double.Parse(myReader["price"].ToString())
                });
            }

            MaterialsViewModel vm = new MaterialsViewModel {
                material = myMaterials
            };

            return(View(vm));
        }
Example #2
0
        public ActionResult Materials(string SearchTerm = "")
        {
            try
            {
                IEnumerable <IMaterial> validEntries = TemplateCache.GetAll <IMaterial>(true);
                ApplicationUser         user         = null;
                string searcher = SearchTerm.Trim().ToLower();

                if (User.Identity.IsAuthenticated)
                {
                    user = UserManager.FindById(User.Identity.GetUserId());
                    StaffRank userRank = user.GetStaffRank(User);
                }

                MaterialsViewModel vModel = new MaterialsViewModel(validEntries.Where(item => item.Name.ToLower().Contains(searcher)))
                {
                    AuthedUser = user,
                    SearchTerm = SearchTerm,
                };

                return(View(vModel));
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex);
            }

            return(View());
        }
Example #3
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);

            ViewBag.ControllerName = (String)RouteData.Values["controller"];
            ViewBag.ActionName     = RouteData.Values["action"].ToString().ToLower();

            ViewBag.HttpKeys = Request.QueryString.AllKeys;
            ViewBag.Query    = Request.QueryString;

            filter = getFilter(page_size);

            model = new MaterialsViewModel()
            {
                Account        = AccountInfo,
                Settings       = SettingsInfo,
                UserResolution = UserResolutionInfo,
                ControllerName = ControllerName,
                ActionName     = ActionName
            };

            //Справочник всех доступных категорий
            MaterialsGroup[] GroupsValues = _cmsRepository.getAllMaterialGroups();
            ViewBag.AllGroups = GroupsValues;

            #region Метатеги
            ViewBag.Title       = UserResolutionInfo.Title;
            ViewBag.Description = "";
            ViewBag.KeyWords    = "";
            #endregion
        }
Example #4
0
 public MaterialAdapter(MaterialsView materialsView, MaterialsViewModel materialViewModel, List <Material> Materials, Context context, Android.Support.V4.App.FragmentManager fragmentManager)
 {
     this.materialsViewModel = materialViewModel;
     this.Materials          = Materials;
     this.context            = context;
     this.transaction        = fragmentManager;
     this.materialsView      = materialsView;
 }
Example #5
0
        public ActionResult Index()
        {
            var model = new MaterialsViewModel
            {
                FilterText = ""
            };

            return(View(model));
        }
        public IActionResult Show(Guid id)
        {
            Materials materials = new Materials();

            materials = materialsService.GetMaterialsById(id);
            materials.Browses++;
            materialsService.Update(materials);
            MaterialsViewModel model = new MaterialsViewModel(materials);

            return(View(model));
        }
        public IActionResult Edit(Guid?Id)
        {
            List <MaterialsCategory> categories = materialsService.GetAllMaterialsCategories();

            ViewData["CategoryList"] = categories.Select(x => new SelectListItem {
                Text = x.Title, Value = x.Id.ToString()
            });
            //List<SelectListItem> CategoryList = new List<SelectListItem>();
            //CategoryList.Add(new SelectListItem { Value = "", Text = "分类" });
            //foreach (var item in categories)
            //{
            //    CategoryList.Add(new SelectListItem { Value = item.Id.ToString(), Text = item.Title });
            //}
            //ViewData["CategoryList"] = CategoryList;


            //List<SelectListItem> MaterialsTypeList = new List<SelectListItem>();
            //MaterialsTypeList.Add(new SelectListItem { Value = "", Text = "资料类型" });
            //MaterialsTypeList.Add(new SelectListItem { Value = "0", Text = "视屏" });
            //MaterialsTypeList.Add(new SelectListItem { Value = "1", Text = "电子书" });
            //MaterialsTypeList.Add(new SelectListItem { Value = "2", Text = "文档资料" });
            //MaterialsTypeList.Add(new SelectListItem { Value = "3", Text = "博客" });
            //MaterialsTypeList.Add(new SelectListItem { Value = "4", Text = "项目" });
            //ViewData["MaterialsTypeList"] = MaterialsTypeList;

            //List<SelectListItem> SourceTypeList = new List<SelectListItem>();
            //SourceTypeList.Add(new SelectListItem { Value = "", Text = "来源类型" });
            //SourceTypeList.Add(new SelectListItem { Value = "0", Text = "原创" });
            //SourceTypeList.Add(new SelectListItem { Value = "1", Text = "转载" });
            //ViewData["SourceTypeList"] = SourceTypeList;

            MaterialsViewModel model = null;

            if (Id.HasValue)
            {
                Materials Materials = materialsService.GetMaterialsById(Id);
                model       = new MaterialsViewModel(Materials);
                model.IsNew = false;
            }
            else
            {
                model       = new MaterialsViewModel();
                model.IsNew = true;
            }

            return(View(model));
        }
Example #8
0
        public IActionResult Index(string name, int page = 1, SortState sortOrder = SortState.MaterialIdAsc)
        {
            int pageSize = 10;
            IQueryable <Material> source = db.Materials;

            if (!String.IsNullOrEmpty(name))
            {
                source = source.Where(p => p.Name.Contains(name));
            }
            switch (sortOrder)
            {
            case SortState.MaterialNameAsc:
                source = source.OrderBy(s => s.Name);
                break;

            case SortState.MaterialTypeAsc:
                source = source.OrderBy(s => s.Type);
                break;

            case SortState.MaterialIdDec:
                source = source.OrderByDescending(s => s.Id);
                break;

            case SortState.MaterialNameDec:
                source = source.OrderByDescending(s => s.Name);
                break;

            case SortState.MaterialTypeDec:
                source = source.OrderByDescending(s => s.Type);
                break;
            }

            var                count         = source.Count();
            var                items         = source.Skip((page - 1) * pageSize).Take(pageSize).ToList();
            PageViewModel      pageViewModel = new PageViewModel(count, page, pageSize);
            MaterialsViewModel viewModel     = new MaterialsViewModel
            {
                Materials       = items,
                PageViewModel   = pageViewModel,
                SortViewModel   = new MaterialSortViewModel(sortOrder),
                FilterViewModel = new WebApplicationSewingStudio.ViewModels.MaterialsViewModels.FilterViewModel(name)
            };

            return(View(viewModel));
        }
Example #9
0
        public IActionResult Materials()
        {
            var model         = new MaterialsViewModel();
            var baseMaterials = _dbContext.Materials.Include(m => m.MaterialCategory)
                                .Where(m => m.MaterialCategoryId < 3).ToList();
            var locks = _dbContext.Materials.Include(m => m.MaterialCategory)
                        .Where(m => m.MaterialCategoryId >= 3).ToList();
            var colors     = _dbContext.Colors.ToList();
            var colorsCode = new List <string>()
            {
                "#000000", "#FBEC5D", "#645452", "#F0DC82", "#cd7f32", "#964B00", "#F0FFFF", "#3D2B1F", "#2B1700", "	#080808", "#F5F5DC"
            };

            model.BaseMaterials = baseMaterials;
            model.Locks         = locks;
            model.Colors        = colors;
            model.ColorCode     = colorsCode;
            return(View(model));
        }
        public IActionResult Edit(MaterialsViewModel model)
        {
            Materials Materials = new Materials();

            Materials.Id            = model.Id;
            Materials.MaterialsType = model.MaterialsType;
            Materials.Source        = model.Source;
            Materials.SourceType    = model.SourceType;
            Materials.Title         = model.Title;
            Materials.CategoryId    = model.CategoryId;
            Materials.Description   = model.Description;
            if (model.IsNew)
            {
                Materials.CreateBy = CurrentUser.Id;
                materialsService.Save(Materials);
                DynamicModel dModel = new DynamicModel();
                dModel.CreateDate = Materials.CreateDate;
                dModel.Title      = Materials.Title;
                dModel.Url        = "/Materials/Show" + Materials.Id;
                dModel.Id         = Materials.Id;

                ///将更新发到全部的客户端  这里用到了DI
                IConnectionManager conn    = HttpContext.RequestServices.GetService <ConnectionManager>();
                IHubContext        context = conn.GetHubContext <SMHub>();
                context.Clients.All.Send("info", dModel);
            }
            else
            {
                Materials.ModifyBy = CurrentUser.Id;
                materialsService.Update(Materials);
            }

            if (materialsService.IsSuccess)
            {
                return(Redirect("/Admin/Materials/Index"));
            }
            else
            {
                ModelState.AddModelError("", materialsService.ReturnMsg);
            }
            return(View());
        }
Example #11
0
        public IActionResult Materials(int lessonId)
        {
            var lesson = _traversalService.GetLesson(lessonId);

            if (lesson == null)
            {
                return(RedirectToAction("ResourceNotFound", "Error", new { error = "przedmiot o podanym Id nie istnieje." }));
            }

            ConfigureMaterialsBreadcrumbs(lesson);

            var materials = lesson.Materials;

            var materialViewModels = materials.Select(m =>
                                                      new MaterialViewModel
            {
                MaterialId       = m.MaterialId,
                Name             = m.Name,
                Description      = m.Description,
                CreatorUsername  = m.Creator.Username,
                UploadDate       = m.UploadDate,
                UpdaterUsername  = m.Updater?.Username,
                ModificationDate = m.ModificationDate,
                State            = m.State.Name
            }
                                                      ).ToList();

            var vms = new MaterialsViewModel
            {
                Materials       = materialViewModels,
                IsWithSubtitles = true,
                LessonId        = lessonId
            };

            return(View(vms));
        }
Example #12
0
        public ViewModels(Models models)
        {
            m_models = models;

            // view model initialization
            ConsoleOutput = new ConsoleOutputViewModel(m_models);
            Display       = new DisplayViewModel(m_models);
            Cameras       = new CamerasViewModel(m_models);
            Lights        = new LightsViewModel(m_models);
            Materials     = new MaterialsViewModel(m_models);

            Toolbar   = new ToolbarViewModel(m_models);
            Statusbar = new StatusbarViewModel(m_models);

            Profiler = new ProfilerViewModel(m_models);

            Renderer = new RendererViewModel(m_models, Toolbar.PlayPauseCommand, Toolbar.ResetCommand);
            Scene    = new SceneViewModel(m_models);

            RenderTargetSelection = new RenderTargetSelectionViewModel(m_models, Toolbar.ResetCommand);

            LoadWorld       = new LoadWorldViewModel(m_models);
            AnimationFrames = new AnimationFrameViewModel(m_models);
            Tessellation    = new TessellationViewModel(m_models);

            // command initialization
            AddLightCommand               = new AddLightCommand(m_models);
            LoadSceneCommand              = new LoadSceneCommand(m_models);
            SaveSceneCommand              = new SaveSceneCommand(m_models);
            SelectRendererCommand         = new SelectRendererCommand(m_models);
            OpenSettingsCommand           = new OpenSettingsCommand(m_models);
            DenoiseImageCommand           = new SaveDenoisedScreenshotCommand(m_models);
            RenderAnimatedSequenceCommand = new RenderSequenceCommand(m_models, 0, false, true);

            KeyGestures = new KeyGestureViewModel(models);
        }
Example #13
0
        public ActionResult Save(Guid Id, MaterialsViewModel bindData, HttpPostedFileBase upload)
        {
            ErrorMessage userMessage = new ErrorMessage();

            userMessage.title = "Информация";

            if (ModelState.IsValid)
            {
                var res         = false;
                var getMaterial = _cmsRepository.getMaterial(Id);

                // добавление необходимых полей перед сохранением модели
                bindData.Item.Id = Id;

                #region Сохранение изображения
                var width  = 0;
                var height = 0;
                var defaultPreviewSizes = new string[] { "540", "360" };

                // путь для сохранения изображения //Preview image
                string savePath = Settings.UserFiles + Domain + Settings.MaterialsDir; //+2017_09
                if (upload != null && upload.ContentLength > 0)
                {
                    string fileExtension = upload.FileName.Substring(upload.FileName.LastIndexOf(".")).ToLower();

                    var validExtension = (!string.IsNullOrEmpty(Settings.PicTypes)) ? Settings.PicTypes.Split(',') : "jpg,jpeg,png,gif".Split(',');
                    if (!validExtension.Contains(fileExtension.Replace(".", "")))
                    {
                        model.Item = _cmsRepository.getMaterial(Id);

                        model.ErrorInfo = new ErrorMessage()
                        {
                            title   = "Ошибка",
                            info    = "Вы не можете загружать файлы данного формата",
                            buttons = new ErrorMassegeBtn[]
                            {
                                new ErrorMassegeBtn {
                                    url = "#", text = "ок", action = "false", style = "primary"
                                }
                            }
                        };
                        return(View("Item", model));
                    }

                    var sizes = (!string.IsNullOrEmpty(Settings.MaterialPreviewImgSize)) ? Settings.MaterialPreviewImgSize.Split(',') : defaultPreviewSizes;
                    int.TryParse(sizes[0], out width);
                    int.TryParse(sizes[1], out height);
                    bindData.Item.PreviewImage = new Photo()
                    {
                        Name   = Id.ToString() + fileExtension,
                        Size   = Files.FileAnliz.SizeFromUpload(upload),
                        Url    = Files.SaveImageResizeRename(upload, savePath, Id.ToString(), width, height),
                        Source = bindData.Item.PreviewImage.Source
                    };
                }
                #endregion

                if (String.IsNullOrEmpty(bindData.Item.Alias))
                {
                    bindData.Item.Alias = Transliteration.Translit(bindData.Item.Title);
                }
                else
                {
                    bindData.Item.Alias = Transliteration.Translit(bindData.Item.Alias);
                }

                //Определяем Insert или Update
                if (getMaterial != null)
                {
                    userMessage.info = "Запись обновлена";
                    res = _cmsRepository.updateCmsMaterial(bindData.Item);
                }

                else
                {
                    userMessage.info = "Запись добавлена";
                    res = _cmsRepository.insertCmsMaterial(bindData.Item);
                }
                //Сообщение пользователю
                if (res)
                {
                    string currentUrl = Request.Url.PathAndQuery;

                    userMessage.buttons = new ErrorMassegeBtn[] {
                        new ErrorMassegeBtn {
                            url = StartUrl + Request.Url.Query, text = "Вернуться в список"
                        },
                        new ErrorMassegeBtn {
                            url = currentUrl, text = "ок"
                        }
                    };
                }
                else
                {
                    userMessage.info = "Произошла ошибка";

                    userMessage.buttons = new ErrorMassegeBtn[] {
                        new ErrorMassegeBtn {
                            url = StartUrl + Request.Url.Query, text = "Вернуться в список"
                        },
                        new ErrorMassegeBtn {
                            url = "#", text = "ок", action = "false"
                        }
                    };
                }
            }
            else
            {
                userMessage.info = "Ошибка в заполнении формы. Поля в которых допушены ошибки - помечены цветом.";

                userMessage.buttons = new ErrorMassegeBtn[] {
                    new ErrorMassegeBtn {
                        url = "#", text = "ок", action = "false"
                    }
                };
            }

            model.Item = _cmsRepository.getMaterial(Id);
            if (model.Item != null && model.Item.PreviewImage != null && !string.IsNullOrEmpty(model.Item.PreviewImage.Url))
            {
                var photo = model.Item.PreviewImage;
                model.Item.PreviewImage        = Files.getInfoImage(model.Item.PreviewImage.Url);
                model.Item.PreviewImage.Source = photo.Source;
            }
            model.ErrorInfo = userMessage;

            return(View("Item", model));
        }
        public IActionResult NewQuote(NewQuotesViewModel newQuote)
        {
            if (ModelState.IsValid)
            {
                //calculate total quote price



                double quotePrice = 200;

                double sqInSize = (Double)(newQuote.deskWidth * newQuote.deskLength);
                quotePrice += (sqInSize) / 1000;
                quotePrice += (Double)(newQuote.drawers * 50);

                double materialFee = 0;
                //material price comes from database
                string materialPrice = "SELECT price FROM Material WHERE description = '" + newQuote.material + "';";

                MySqlConnection myConnection = new MySqlConnection(connecitonString);
                MySqlCommand    myCommand    = new MySqlCommand(materialPrice, myConnection);
                myConnection.Open();
                MySqlDataReader myReader;
                myReader = myCommand.ExecuteReader();
                // Always call Read before accessing data.
                while (myReader.Read())
                {
                    materialFee = Double.Parse(myReader["price"].ToString());
                    quotePrice += materialFee;
                }
                myConnection.Close();

                //add in shipping cost
                double shippingFee = 0;
                switch (newQuote.shippingDays)
                {
                case 14:
                    //no additional cose
                    break;

                case 3:
                    if (sqInSize < 1000)
                    {
                        shippingFee = 60;
                        quotePrice += 60;
                    }
                    else if (sqInSize >= 1000 && sqInSize < 2000)
                    {
                        shippingFee = 70;
                        quotePrice += 70;
                    }
                    else
                    {
                        shippingFee = 80;
                        quotePrice += 80;
                    }
                    break;

                case 5:
                    if (sqInSize < 1000)
                    {
                        shippingFee = 40;
                        quotePrice += 40;
                    }
                    else if (sqInSize >= 1000 && sqInSize < 2000)
                    {
                        shippingFee = 50;
                        quotePrice += 50;
                    }
                    else
                    {
                        shippingFee = 60;
                        quotePrice += 60;
                    }
                    break;

                case 7:
                    if (sqInSize < 1000)
                    {
                        shippingFee = 30;
                        quotePrice += 30;
                    }
                    else if (sqInSize >= 1000 && sqInSize < 2000)
                    {
                        shippingFee = 30;
                        quotePrice += 35;
                    }
                    else
                    {
                        shippingFee = 40;
                        quotePrice += 40;
                    }
                    break;
                }

                quotePrice = Math.Round(quotePrice, 2);


                myConnection = new MySqlConnection(connecitonString);
                MySqlCommand mySqlCommand = new MySqlCommand("insert_quote", myConnection);
                mySqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
                mySqlCommand.Parameters.AddWithValue("pv_firstName", newQuote.FirstName);
                mySqlCommand.Parameters.AddWithValue("pv_lastName", newQuote.LastName);
                mySqlCommand.Parameters.AddWithValue("pv_shippingDays", newQuote.shippingDays);
                mySqlCommand.Parameters.AddWithValue("pv_shippingPrice", shippingFee);
                mySqlCommand.Parameters.AddWithValue("pv_quoteAmount", quotePrice);
                mySqlCommand.Parameters.AddWithValue("pv_description", newQuote.material); //mat des
                mySqlCommand.Parameters.AddWithValue("pv_price", materialFee);             //mat cost
                mySqlCommand.Parameters.AddWithValue("pv_deskWidth", newQuote.deskWidth);
                mySqlCommand.Parameters.AddWithValue("pv_deskLength", newQuote.deskLength);
                mySqlCommand.Parameters.AddWithValue("pv_drawers", newQuote.drawers);

                myConnection.Open();
                //MySqlDataReader myReader;
                myReader = mySqlCommand.ExecuteReader();
                myConnection.Close();

                //string tmp = firstName + " " + lastName + " " + deskWidth + " " + deskLength + " " + material + " " + shippingDays;

                //return tmp;
                return(RedirectToAction("Index"));
            }
            else
            {
                List <Material> myMaterials  = new List <Material>();
                string          sql          = "SELECT * FROM Material ORDER BY price;";
                MySqlConnection myConnection = new MySqlConnection(connecitonString);
                MySqlCommand    myCommand    = new MySqlCommand(sql, myConnection);
                myConnection.Open();
                MySqlDataReader myReader;
                myReader = myCommand.ExecuteReader();
                // Always call Read before accessing data.
                while (myReader.Read())
                {
                    myMaterials.Add(
                        new Material
                    {
                        Id          = Int32.Parse(myReader["materialID"].ToString()),
                        Description = myReader["description"].ToString(),
                        Price       = Double.Parse(myReader["price"].ToString())
                    });
                }

                MaterialsViewModel vm = new MaterialsViewModel {
                    material = myMaterials
                };

                NewQuotesViewModelResponce vm2 = new NewQuotesViewModelResponce
                {
                    responceVM  = newQuote,
                    materialsVM = vm
                };

                return(View("NewQuoteWithErrors", vm2));
            }
        }
        // GET: Materials
        public IActionResult Index(string namematerial, double?massmaterial, string units, string property, int page = 1, MaterialsSortState sortOrder = MaterialsSortState.NameMaterialAsc)
        {
            int pageSize = 10;
            IQueryable <Materials> source = _context.Materials;

            if (namematerial != null)
            {
                source = source.Where(x => x.NameMaterial == namematerial);
            }
            if (massmaterial != null && massmaterial != 0)
            {
                source = source.Where(x => x.MassMaterial.Value == massmaterial.Value);
            }
            if (units != null)
            {
                source = source.Where(x => x.Units == units);
            }
            if (property != null)
            {
                source = source.Where(x => x.Property == property);
            }

            switch (sortOrder)
            {
            case MaterialsSortState.NameMaterialAsc:
                source = source.OrderBy(x => x.NameMaterial);
                break;

            case MaterialsSortState.NameMaterialDesc:
                source = source.OrderByDescending(x => x.NameMaterial);
                break;

            case MaterialsSortState.MassMaterialAsc:
                source = source.OrderBy(x => x.MassMaterial);
                break;

            case MaterialsSortState.MassMaterialDesc:
                source = source.OrderByDescending(x => x.MassMaterial);
                break;

            case MaterialsSortState.UnitsAsc:
                source = source.OrderBy(x => x.Units);
                break;

            case MaterialsSortState.UnitsDesc:
                source = source.OrderByDescending(x => x.Units);
                break;

            case MaterialsSortState.PropertyAsc:
                source = source.OrderBy(x => x.Property);
                break;

            case MaterialsSortState.PropertyDesc:
                source = source.OrderByDescending(x => x.Property);
                break;

            default:
                source = source.OrderBy(x => x.NameMaterial);
                break;
            }



            var                count    = source.Count();
            var                items    = source.Skip((page - 1) * pageSize).Take(pageSize);
            PageViewModel      pageView = new PageViewModel(count, page, pageSize);
            MaterialsViewModel ivm      = new MaterialsViewModel
            {
                PageViewModel   = pageView,
                SortViewModel   = new SortMaterialsViewModel(sortOrder),
                FilterViewModel = new FilterMaterialsViewModel(namematerial, massmaterial, units, property),
                Materials       = items
            };

            return(View(ivm));
        }