Пример #1
0
        public StyleQuantityViewModel(IUnitOfWork db, long styleId, DateTime when)
        {
            var style      = db.Styles.Get(styleId);
            var itemTypeId = style.ItemTypeId ?? StyleViewModel.DefaultItemType;

            StyleId     = styleId;
            StyleString = style.StyleID;

            Type = style.Type;

            Image    = style.Image;
            ItemType = itemTypeId;

            //Sizes
            var styleSizes = db.StyleItems.GetByStyleIdWithSizeGroupAsDto(styleId)
                             .ToList();
            var styleItemCache = db.StyleItemCaches.GetForStyleId(styleId).ToList();

            Sizes = BuildSizes(styleSizes,
                               styleItemCache);

            Listings = db.Listings.GetListingsAsListingDto()
                       .Where(l =>
                              l.StyleId == styleId &&
                              !l.IsFBA)
                       .ToList()
                       .Select(l => new ListingQuantityViewModel(l))
                       .OrderBy(l => l.SizeIndex)
                       .ThenBy(l => l.Market)
                       .ThenBy(l => l.SKU)
                       .ToList();

            Locations = StyleViewModel.GetLocations(db, style.Id);
        }
Пример #2
0
        // GET: Styles/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            StyleViewModel svm = new StyleViewModel();

            svm.Style = db.Styles.Find(id);
            if (svm.Style == null)
            {
                return(HttpNotFound());
            }
            svm.Style.JewelryType = db.JewelryTypes.Find(svm.Style.JewelryTypeId);
            Collection co = db.Collections.Find(svm.Style.CollectionId);

            svm.CompanyId             = co.CompanyId;
            svm.Style.MetalWeightUnit = new MetalWeightUnit
            {
                Unit = "DWT"
            };
            svm.Populate(id, db);
            string markup = db.FindCompany(svm.CompanyId).markup;

            if (markup == null)
            {
                markup = "[]";
            }
            svm.markups          = JsonConvert.DeserializeObject <List <Markup> >(markup);
            ViewBag.CollectionId = new SelectList(db.Collections.Where(x => x.CompanyId == co.CompanyId), "Id", "Name", svm.Style.CollectionId);
            //ViewBag.JewelryTypeId = new SelectList(db.JewelryTypes.Where(x => x.CompanyId == co.CompanyId), "Id", "Name", svm.Style.JewelryTypeId);
            ViewBag.MetalWtUnitId = new SelectList(db.MetalWeightUnits.OrderBy(mwu => mwu.Unit), "Id", "Unit", svm.Style.MetalWtUnitId);
            return(View(svm));
        }
Пример #3
0
        public async Task <ActionResult> Print(StyleViewModel svm)
        {
            // First, save the data
            svm.SVMOp = SVMOperation.Print;
            ModelState.Clear();
            StyleViewModel newsvm = new StyleViewModel(svm, db);

            await SaveImageInStorage(db, newsvm, true);

            //newsvm.assemblyCost.Load(db, svm.CompanyId);
            // Save image in svm as tmp file, assign newsvm.Style.Image to saved image in svm
            newsvm.SVMOp = SVMOperation.Print;
            //newsvm.Style.StyleNum = svm.Style.StyleNum;
            newsvm.Style.Collection = db.Collections.Find(newsvm.Style.CollectionId);
            newsvm.CompanyId        = newsvm.Style.Collection.CompanyId;
            newsvm.CopiedStyleName  = svm.Style.StyleName;
            //svm.RepopulateComponents(db); // iterate thru the data and repopulate the links
            newsvm.Style.JewelryType     = db.JewelryTypes.Find(newsvm.Style.JewelryTypeId);
            newsvm.Style.MetalWeightUnit = db.MetalWeightUnits.Find(newsvm.Style.MetalWtUnitId);
            newsvm.PopulateDropDownData(db);
            newsvm.PopulateDropDowns(db);
            newsvm.LookupComponents(db); // iterate thru the data and repopulate the data

            return(View(newsvm));
        }
        public virtual ActionResult GetIdListByFilters(string barcode,
                                                       int?gender,
                                                       [Bind(Prefix = "itemStyles[]")] List <int> itemStyles,
                                                       [Bind(Prefix = "sleeves[]")] List <int> sleeves,
                                                       int?mainLicense,
                                                       int?subLicense,
                                                       int?holiday,
                                                       bool hasInitialQty)
        {
            LogI("GetFilteredIdList, barcode=" + barcode
                 + ", gender=" + gender
                 + ", itemStyles=" + itemStyles
                 + ", sleeves=" + sleeves
                 + ", mainLicense=" + mainLicense
                 + ", subLicense=" + subLicense
                 + ", hasInitialQty=" + hasInitialQty);
            var searchFilter = new StyleSearchFilterViewModel()
            {
                Barcode       = StringHelper.TrimWhitespace(barcode),
                Gender        = gender,
                ItemStyles    = itemStyles,
                Sleeves       = sleeves,
                HolidayId     = holiday,
                MainLicense   = mainLicense,
                SubLicense    = subLicense,
                HasInitialQty = hasInitialQty
            };
            var idList = StyleViewModel.GetIdListByFilters(Db, searchFilter);

            return(Json(ValueResult <IEnumerable <long> > .Success("", idList), JsonRequestBehavior.AllowGet));
        }
Пример #5
0
        public ActionResult DeleteConfirmed(StyleViewModel svm)
        {
            int    id           = svm.Style.Id;
            Style  style        = db.Styles.Find(id);
            string imageName    = style.Image;
            int    collectionId = style.CollectionId;
            // remove memos
            List <Memo> rmMemos = db.Memos.Where(m => m.StyleID == id).ToList();

            db.Memos.RemoveRange(rmMemos);
            {
                // remove components
                db.Castings.RemoveRange(db.StyleCastings.Where(sc => sc.StyleId == id).Select(sc => sc.Casting).ToList());
                //db.Stones.RemoveRange(db.StyleStones.Where(ss => ss.StyleId == id).Select(sc => sc.Stone).ToList());
                //db.Findings.RemoveRange(db.StyleFindings.Where(sf => sf.StyleId == id).Select(sf => sf.Finding).ToList());
                db.Labors.RemoveRange(db.StyleLabors.Where(sl => sl.StyleId == id).Select(sl => sl.Labor).ToList());
                //db.LaborTable.RemoveRange(db.StyleLaborItems.Where(sli => sli.StyleId == id).Select(sli => sli.LaborItem).ToList());
                db.Miscs.RemoveRange(db.StyleMiscs.Where(sm => sm.StyleId == id).Select(sm => sm.Misc).ToList());
                // remove links
                db.StyleCastings.RemoveRange(style.StyleCastings.ToList());
                db.StyleFindings.RemoveRange(style.StyleFindings.ToList());
                db.StyleLaborItems.RemoveRange(style.StyleLaborItems.ToList());
                db.StyleLabors.RemoveRange(style.StyleLabors.ToList());
                db.StyleMiscs.RemoveRange(style.StyleMiscs.ToList());
                db.StyleStones.RemoveRange(style.StyleStones.ToList());
            }
            db.Styles.Remove(style);
            db.SaveChanges();
            RemoveImageFromStorage(imageName);
            return(RedirectToAction("Index", new { CollectionID = collectionId }));
        }
        public virtual ActionResult UpdateStyle(long id, int?itemType)
        {
            LogI("UpdateStyle, Id=" + id);
            SessionHelper.ClearUploadedImages();

            var item = Db.Styles.GetByStyleIdAsDto(id);

            StyleViewModel model;

            if (item == null)
            {
                model         = new StyleViewModel(Db, itemType ?? StyleViewModel.DefaultItemType);
                ViewBag.IsAdd = true;
            }
            else
            {
                if (itemType.HasValue)
                {
                    item.ItemTypeId = itemType;
                }
                model         = new StyleViewModel(Db, MarketplaceService, item);
                ViewBag.IsAdd = false;
            }

            ViewBag.PartialViewName = PopupContentView;
            return(View("EditEmpty", model));
        }
Пример #7
0
        public ActionResult Details(int id = 1)
        {
            StyleDTO style = null;

            try
            {
                style = styleService.Get(id);
            }
            catch
            {
                return(RedirectToAction("Error", new { exeption = "The style doesn't exist anymore!" }));
            }
            if (style == null)
            {
                return(NotFound());
            }
            var _style = new StyleViewModel
            {
                Id          = style.Id,
                Name        = style.Name,
                Description = style.Description
            };

            ViewBag.Image   = style.Image;
            ViewBag.IsAdmin = HttpContext.User.IsInRole("Administrator");

            return(View(_style));
        }
Пример #8
0
        public StyleViewModel GetEdit(ApiCall call)
        {
            var style = call.WebSite.SiteDb().Styles.Get(call.ObjectId);

            if (style != null)
            {
                var model = new StyleViewModel();
                model.Id          = style.Id;
                model.Name        = style.Name;
                model.Body        = style.Body;
                model.DisplayName = style.DisplayName;
                model.FullUrl     = ObjectService.GetObjectRelativeUrl(call.WebSite.SiteDb(), style);

                model.Extension = style.Extension;

                if (model.Extension != null && model.Extension != "css" && model.Extension != ".css")
                {
                    model.SourceChange = style.SourceChange;
                    if (!string.IsNullOrEmpty(style.Source))
                    {
                        model.Body = style.Source;
                    }
                }
                return(model);
            }
            else
            {
                return(new StyleViewModel());
            }
        }
Пример #9
0
        private bool CheckForNameAndNumberUniqueness(StyleViewModel svm)
        {
            // make sure the collection is valid
            if (svm.Style.Collection == null)
            {
                svm.Style.Collection = db.Collections.Find(svm.Style.CollectionId);
            }
            int iStyleNames = db.Styles.
                              Join(db.Collections, s => s.CollectionId, col => col.Id, (s, c) => new
            {
                StyleId = s.Id,
                //StyleNum = s.StyleNum,
                StyleName = s.StyleName,
                CompanyId = c.CompanyId,
            }).Where(x => x.CompanyId == svm.CompanyId &&
                     x.StyleId != svm.Style.Id &&
                     (x.StyleName == svm.Style.StyleName)).Count();

            if (iStyleNames != 0)
            {
                ModelState.AddModelError("Style.StyleName", "Style with this name already exists for " + db.FindCompany(svm.CompanyId).Name + ".");
            }

            if (iStyleNames != 0)
            {
                return(false);
            }
            return(true);
        }
Пример #10
0
        public virtual ActionResult Submit(StyleReferencesViewModel model)
        {
            LogI("Submit, model=" + model);

            //Save
            if (ModelState.IsValid)
            {
                var            errors      = model.Validate(Db);
                StyleViewModel returnModel = null;

                if (!errors.Any())
                {
                    model.SetUploadedImages(SessionHelper.GetUploadedImages());

                    var id = model.Apply(Db,
                                         Cache,
                                         Time.GetAppNowTime(),
                                         AccessManager.UserId);

                    returnModel = StyleViewModel.GetAll(Db, new StyleSearchFilterViewModel()
                    {
                        StyleId = id
                    }).Items?.FirstOrDefault();

                    SessionHelper.ClearUploadedImages();
                }
                else
                {
                    foreach (var error in errors)
                    {
                        ModelState.AddModelError("", error.ErrorMessage);
                    }

                    return(PartialView(PopupContentView, model));
                }

                return(Json(new UpdateRowViewModel(returnModel,
                                                   "Styles",
                                                   new[]
                {
                    "HasImage",
                    "Image",
                    "Thumbnail",
                    "StyleId",
                    "Name",
                    "StyleItemCaches",
                    "StyleItems",
                    "Locations",
                    "MainLocation",
                    "HasLocation",
                    "IsOnline",
                    "OnHold",
                    "CreateDate"
                },
                                                   false)));
            }

            return(View(PopupContentView, model));
        }
        public void Name()
        {
            var style     = new CustomStyle();
            var viewModel = new StyleViewModel(style, null);

            viewModel.Name = "Note";
            Assert.Equal(viewModel.Name, style.Name);
        }
Пример #12
0
        public ActionResult EditStyle(int id)
        {
            var repo  = RepositoryFactory.CreateRepository();
            var style = repo.GetStyleById(id);
            var vm    = new StyleViewModel(style);

            return(View(vm));
        }
Пример #13
0
        private async Task <bool> SaveImageInStorage(OJewelryDB db, StyleViewModel svm, bool bCopy = false)
        {
            if (svm.Style.Image == null && svm.PostedImageFile == null)
            {
                Trace.TraceInformation("Image and postedfile are both blank, returnig.");
                return(true);
            }

            string filename;
            string env      = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Development";
            string username = User.Identity.GetUserName();

            env = (env == "Production") ? "" : env + "_";
            // Set filename

            if (svm.PostedImageFile != null) // new image
            {
                if (bCopy)                   // new style
                {
                    filename = env + "StyleImg_" + username + Path.GetExtension(svm.PostedImageFile.FileName);
                }
                else
                {
                    filename = env + "StyleImg_" + svm.CompanyId.ToString() + "_" + svm.Style.Id.ToString() + "_" + Path.GetExtension(svm.PostedImageFile.FileName);
                }
                Trace.TraceInformation("Uploading {0} to {1}", svm.PostedImageFile.FileName, filename);
                svm.Style.Image = await Singletons.azureBlobStorage.Upload(svm.PostedImageFile, filename);

                Trace.TraceInformation("Done uploading, image=[{0}]", svm.Style.Image);
            }
            else     // same image
            {
                Uri    u        = new Uri(svm.Style.Image);
                string blobFile = u.Segments.Last();
                if (bCopy) // new style
                {
                    // Copy old image to new
                    filename = env + "StyleImg_" + username + Path.GetExtension(svm.Style.Image);
                    Trace.TraceInformation("Copying {0} to {1} (bCopy=true)", blobFile, filename);
                    svm.Style.Image = await Singletons.azureBlobStorage.Copy(blobFile, filename);

                    Trace.TraceInformation("Done copying, image=[{0}]", svm.Style.Image);
                }
                else
                {
                    filename = env + "StyleImg_" + svm.CompanyId.ToString() + "_" + svm.Style.Id.ToString() + "_" + Path.GetExtension(svm.Style.Image);
                    if (svm.Style.Image != filename)
                    {
                        Trace.TraceInformation("Copying {0} to {1} (bCopy=false)", blobFile, filename);
                        svm.Style.Image = await Singletons.azureBlobStorage.Copy(blobFile, filename);

                        Trace.TraceInformation("Done copying, image=[{0}]", svm.Style.Image);
                    }
                }
                //svm.Style.Image = await Singletons.azureBlobStorage.Upload(svm.Style.Image, filename);
            }
            return(true);
        }
Пример #14
0
        // GET: Styles/Create
        public ActionResult Create(int collectionId)
        {
            Collection     co  = db.Collections.Find(collectionId);
            StyleViewModel svm = new StyleViewModel();

            svm.CompanyId = co.CompanyId;
            svm.SVMOp     = SVMOperation.Create;
            svm.Populate(null, db);
            AddDefaultEntries(svm);
            return(CreateNew(svm.CompanyId, collectionId, svm));
        }
Пример #15
0
        public async Task <IActionResult> Create(StyleViewModel style)
        {
            if (ModelState.IsValid)
            {
                var dto = style.GetDTO();
                await this.styleService.CreateStyleAsync(dto);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(style));
        }
Пример #16
0
        public IActionResult Index(string name)
        {
            int            lengthStylePage = Convert.ToInt32(_configuration["lengthStylePage"]);
            Style          style           = _styleRepository.FindByName(name);
            StyleViewModel styleViewModel  = new StyleViewModel {
                Style = style, PageActuel = 0, Next = (style.LienStyle.Count - lengthStylePage > 0) ? true : false
            };

            styleViewModel.Style.LienStyle = style.LienStyle.ToList().GetRange(0, (styleViewModel.Style.LienStyle.Count - lengthStylePage > 0) ? lengthStylePage : style.LienStyle.Count);
            return(this.View(nameof(StyleController.Index), styleViewModel));
        }
Пример #17
0
        void AddLaborItem(LaborItemComponent c, StyleViewModel svm, int keyVal)
        {
            int laborItemId        = c.Id == 0 ? keyVal : c.Id;
            StyleLaborTableItem sl = new StyleLaborTableItem()
            {
                StyleId      = svm.Style.Id,
                LaborTableId = c.laborItemId.Value,
                Qty          = c.Qty.Value
            };

            db.StyleLaborItems.Add(sl);
        }
Пример #18
0
 public JavaScriptResult Create(StyleViewModel Stylevm)
 {
     try
     {
         _styleService.Add(Mapper.Map <Style>(Stylevm));
         return(JavaScript($"ShowResult('{"Data saved successfully."}','{"success"}','{"redirect"}','{"/APanel/Style"}')"));
     }
     catch (Exception ex)
     {
         return(JavaScript($"ShowResult('{ex.Message}','failure')"));
     }
 }
Пример #19
0
        public ActionResult AddStyle(StyleViewModel styleVM)
        {
            Style style = new Style()
            {
                Description = styleVM.Description,
                Name        = styleVM.Name
            };
            var repo = RepositoryFactory.CreateRepository();

            repo.AddStyle(style);
            return(RedirectToAction("ManageStyles", "Admin"));
        }
Пример #20
0
        public StyleLocationViewModel(IUnitOfWork db, long styleId, DateTime when)
        {
            var style = db.Styles.Get(styleId);

            StyleId     = styleId;
            StyleString = style.StyleID;


            Image = style.Image;

            Locations = StyleViewModel.GetLocations(db, style.Id);
        }
Пример #21
0
        public ActionResult EditStyle(StyleViewModel vm)
        {
            var repo  = RepositoryFactory.CreateRepository();
            var style = new Style
            {
                StyleId     = vm.StyleId,
                Name        = vm.Name,
                Description = vm.Description
            };

            repo.EditStyle(style);
            return(RedirectToAction("ManageStyles", "Admin"));
        }
Пример #22
0
        public ActionResult Edit(int id, StyleViewModel styleViewModel)
        {
            var style = Mapper.Map <StyleViewModel, Style>(styleViewModel);

            style.IdStyle = id;

            if (service.Update(style) > 0)
            {
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Erro"));
        }
        public virtual ActionResult CreateStyle(int itemType)
        {
            LogI("CreateStyle, itemType=" + itemType);
            SessionHelper.ClearUploadedImages();

            var model = new StyleViewModel(Db, itemType);

            model.IsHidden = AccessManager.UserName == UserHelper.SvetaTName;

            ViewBag.PartialViewName = PopupContentView;
            ViewBag.IsAdd           = true;
            return(View("EditEmpty", model));
        }
Пример #24
0
        public List <StyleViewModel> GetViewStyles()
        {
            List <StyleViewModel> styles = new List <StyleViewModel>();

            foreach (var style in _album.Styles)
            {
                StyleViewModel sty = new StyleViewModel();
                sty.Style = style.Style;
                styles.Add(sty);
            }

            return(styles);
        }
Пример #25
0
        public static Style ViewModelToModel(StyleViewModel viewModel)
        {
            var name = Enum.GetName(typeof(StyleViewModel), viewModel);

            if (name != null)
            {
                return(ModelFromString(name));
            }
            else
            {
                throw new Exception(string.Format(ViewmodelCouldNotBeConverted, viewModel));
            }
        }
Пример #26
0
        void AddLabor(LaborComponent c, StyleViewModel svm, int keyVal)
        {
            Labor labor = new Labor(c);

            labor.Id = c.Id == 0 ? keyVal : c.Id;
            db.Labors.Add(labor);
            StyleLabor sl = new StyleLabor()
            {
                StyleId = svm.Style.Id, LaborId = labor.Id
            };

            db.StyleLabors.Add(sl);
        }
Пример #27
0
        void AddMisc(MiscComponent m, StyleViewModel svm, int keyVal)
        {
            Misc misc = new Misc(m);

            misc.Id = m.Id == 0 ? keyVal : m.Id;
            db.Miscs.Add(misc);
            StyleMisc sm = new StyleMisc()
            {
                StyleId = svm.Style.Id, MiscId = misc.Id
            };

            db.StyleMiscs.Add(sm);
        }
        private long AddStyle(IUnitOfWork db, DateTime when, long?by)
        {
            var notEmptyLinkedStyles = LinkedStyles
                                       .Where(s => !String.IsNullOrEmpty(s.LinkedStyleString))
                                       .ToList();

            StyleViewModel.SetDefaultImage(ImageSet.Images);

            var dbStyle = new Style
            {
                StyleID       = StyleId,
                Type          = (int)StyleTypes.References,
                Name          = Name,
                DropShipperId = DSHelper.DefaultPAId,
                Image         = ImageSet.GetMainImageUrl(),
                //AdditionalImages = ImageSet.GetAdditionalImagesUrl(),

                ItemTypeId = (int)ItemType.Pajama,

                CreateDate = when,
                CreatedBy  = by
            };

            db.Styles.Add(dbStyle);
            db.Commit();

            StyleViewModel.UpdateImages(db, dbStyle.Id, ImageSet.Images, when, by);

            db.StyleReferences.UpdateStyleReferencesForStyle(dbStyle.Id,
                                                             notEmptyLinkedStyles,
                                                             when,
                                                             by);

            var styleItemToLinkedItems = RebuildStyleItems(db, dbStyle, notEmptyLinkedStyles);

            db.StyleItems.UpdateStyleItemsForStyle(dbStyle.Id,
                                                   styleItemToLinkedItems.Select(si => si.StyleItem).ToList(),
                                                   when,
                                                   by);

            var styleItemReferences = BuildStyleItemReferences(db, dbStyle.Id, styleItemToLinkedItems);

            db.StyleItemReferences.UpdateStyleItemReferencesForStyle(dbStyle.Id,
                                                                     styleItemReferences,
                                                                     when,
                                                                     by);

            UpdateStyleFeatures(db, dbStyle.Id, LinkedStyles.Select(s => s.LinkedStyleId).ToList(), when, by);

            return(dbStyle.Id);
        }
Пример #29
0
        public ActionResult Create(StyleViewModel styleViewModel)
        {
            if (ModelState.IsValid)
            {
                var style = Mapper.Map <StyleViewModel, Style>(styleViewModel);

                if (service.Add(style) > 0)
                {
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Erro"));
        }
        public void Size()
        {
            var style     = new CustomStyle();
            var viewModel = new StyleViewModel(style, null);

            viewModel.Size = 0.4;
            Assert.Equal(viewModel.Size, style.Size);

            // testing UseDefault
            viewModel.UseDefaultSize = true;
            Assert.True(style.UseDefaultSize);
            Assert.Equal(defaults.Size, style.Size);
            Assert.Equal(defaults.Size, viewModel.Size);
        }