/// <summary> /// determines Orders processing-state /// </summary> /// <param name="orderIdentifier"></param> /// <returns></returns> public ViewModels.OrderViewModel AddOrder(List <ViewModels.OrderItemViewModel> items, ViewModels.UserDataViewModel customerUser, ViewModels.UserDataViewModel storeUser) { var Order = new Models.OrderModel() { OrderState = Enums.EnumOrderState.ClientPlacedOrder, OrderType = Enums.EnumOrderType.Default, OrderIdentifier = Guid.NewGuid().ToString(), CustomerUser = userContext.GetUser(customerUser.Id), StoreUser = userContext.GetUser(storeUser.Id) }; Order.Items = new List <Models.OrderItemModel>(); foreach (var item in items) { Order.Items.Add(new Models.OrderItemModel() { PartNo = item.PartNumber, Price = item.Price, Name = item.Name, Amount = item.Amount, }); } Order.OrderIdentifier = Guid.NewGuid().ToString(); var newObj = orderContext.AddOrUpdateOrder(Order); return(newObj.ToOrderViewModel()); }
public JsonResult CreateImportConfig(int Owner, int Type, string Source, string Name) { ViewModels.ProductImportConfigurationViewModel model = new ProductImportConfigurationViewModel(); model.Owner = userContext.GetUser(Owner).ToUserDataViewModel(); model.Name = Name; model.Source = Source; model.Type = (Enums.EnumImportType)Type; var resvm = productRepository.CreateOrUpdateImportConfiguration(0, Owner, Type, Source, Name); return(Json(new { Result = "OK", Record = resvm })); }
public ViewModels.UserDataViewModel GetUser(int Id) { return(userContext.GetUser(Id).ToUserDataViewModel()); }
public bool ImportSource(string src, int ownerId, List <string> connections) { try { var user = userRepository.GetUser(ownerId); var dbuser = userContext.GetUser(ownerId); var xe = XElement.Load(src); var items = xe.Elements("channel").Elements("item"); if (items.Count() == 0) { return(false); } int cntr = 0; int total = items.Count(); foreach (var item in items) { cntr++; Utils.ProgressDialogUtils.Update("productImport", BaseResource.Get("ProcessingItem") + " (" + cntr + " / " + total + ")", Utils.ProductUtils.calc_percent(cntr, total), connections); var pmodel = buildImportModel(item, dbuser); _db.ProductTmpImport.Add(pmodel); var existing = _db.Products.FirstOrDefault(ln => ln.SrcIdentifier == pmodel.SrcId && ln.Owner.ID == user.Id); if (existing == null) { _db.Products.Add(new Models.ProductModel() { Name = pmodel.Title, Description = pmodel.Description, ImageUrl = pmodel.ImageLink, Owner = dbuser, PartNo = pmodel.Mpn, Price = getPrice(pmodel.PriceString), SrcIdentifier = pmodel.SrcId, ProductIdentifier = Guid.NewGuid().ToString() }); } else { existing.Description = pmodel.Description; existing.ImageUrl = pmodel.ImageLink; existing.Name = pmodel.Title; existing.Owner = pmodel.Owner; existing.PartNo = pmodel.Mpn; existing.Price = getPrice(pmodel.PriceString); } } _db.SaveChanges(); Utils.ProgressDialogUtils.Update("productImport", BaseResource.Get("RecreatingLuceneIndex"), 100, user.SignalRConnections); Utils.LuceneUtils.AddUpdateLuceneIndex(_db.ProductTmpImport.Where(ln => ln.Owner.ID == user.Id)); Utils.ProgressDialogUtils.Update("productImport", BaseResource.Get("ProductImportFinished"), 100, user.SignalRConnections); return(true); } catch (Exception ex) { return(false); throw; } }