public JsonResult List(Hubs.FilterSortConfig config, int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null) { try { List <ViewModels.ProductViewModel> products = new List <ViewModels.ProductViewModel>(); var userClaimPrincipal = User as ClaimsPrincipal; int total = 0; if (userClaimPrincipal.IsInRole("Admin")) { products = productRepository.GetProducts(jtStartIndex, jtPageSize, jtSorting, config); total = productRepository.GetProductsTotal(0); } else { var uservm = userRepository.GetUser(User.Identity.Name); products = productRepository.GetProducts(uservm.Id, jtStartIndex, jtPageSize, jtSorting, config); total = productRepository.GetProductsTotal(uservm.Id); } return(Json(new { Result = "OK", Records = products, TotalRecordCount = total })); } catch (Exception ex) { return(Json(new { Result = "ERROR", Message = ex.Message })); } }
public static void SendUserTotalMoneyUpdate(int UserId, double amount) { var db = new DAL.ServiceContext(); var userRepository = new Repositories.UserRepository(db); var user = userRepository.GetUser(UserId); GlobalHost.ConnectionManager.GetHubContext <ServiceHub>().Clients.Clients(user.SignalRConnections).updateUserTotal(amount); }
public DTOs.GeneralHubResponseObject ProcessIncoming(DTOs.GeneralHubRequestObject Request) { GeneralHubResponseObject result = new GeneralHubResponseObject(); var jconf = JsonConvert.SerializeObject(Request.RequestData); var osRequest = JsonConvert.DeserializeObject <OrderServiceRequesObject>(jconf); var signalRGroup = serviceRepository.GetSignalRGroup(Request.ServiceId); switch (osRequest.Command) { case "StageProduct": var spconf = JsonConvert.SerializeObject(osRequest.CommandData); var spdata = JsonConvert.DeserializeObject <Hubs.ProductDataWrap>(spconf); var res = StageProduct(spdata.Product, Request.ServiceId.ToString(), Request.ConnectionId); result.ResponseData = res; if (res.ErrorNumber == 0) { result.Success = true; } else { result.Success = false; result.ErrorMessage = res.ErrorMessage; } break; case "LoadProducts": var sconf = JsonConvert.SerializeObject(osRequest.CommandData); var searchConfig = JsonConvert.DeserializeObject <Hubs.SearchConfigWrap>(sconf); var user = userRepository.GetUser(Request.User.Identity.Name); var pres = getProducts(user.Id, signalRGroup, searchConfig.SearchConfig); result.ResponseData = pres; break; case "RemoveProduct": var rmspconf = JsonConvert.SerializeObject(osRequest.CommandData); var rmspdata = JsonConvert.DeserializeObject <Hubs.ProductRemoveCommand>(rmspconf); RemoveProduct(rmspdata.Id, signalRGroup, Request.ConnectionId); break; default: result.Success = false; result.ErrorMessage = "Unknown/invalid Command"; break; } return(result); }
public ActionResult LogOff() { DAL.ServiceContext db = new DAL.ServiceContext(); Repositories.UserRepository userRepository = new Repositories.UserRepository(db); var user = userRepository.GetUser(User.Identity.Name); var toRemove = user.SignalRConnections.ToList(); foreach (var item in toRemove) { var rm = db.SignalRConnections.FirstOrDefault(ln => ln.SignalRConnectionId == item); var ms = rm.MinerStatus; db.MinerStatus.Remove(ms); db.SignalRConnections.Remove(rm); } db.SaveChanges(); AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); return(RedirectToAction("Index", "Home")); }
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; } }
private ViewModels.OrderViewModel _processOrderRequest(OrderDataDTO orderDTO, string group) { IOrderProcess orderProcessFactory = null; if (Utils.ValidationUtils.IsDangerousString(orderDTO.OrderIdentifier, out int badidx)) { return new ViewModels.OrderViewModel() { ErrorMessage = "Invalid orderIdentifier" } } ; var orderViewModel = orderRepository.GetOrder(orderDTO.OrderIdentifier); var service = db.ServiceSettings.FirstOrDefault(ln => ln.ServiceUrl == group); if (service == null) { return new ViewModels.OrderViewModel() { ErrorMessage = "could not get service..." } } ; orderProcessFactory = Factories.OrderProcessFactory.GetOrderProcessImplementation(service.ServiceType); if (orderViewModel == null) { if (orderDTO.Items.Count == 0) { return new ViewModels.OrderViewModel() { ErrorMessage = BaseResource.Get("NoItemsForOrder") } } ; orderViewModel = orderProcessFactory.CheckOrder(orderDTO); if (!string.IsNullOrEmpty(orderViewModel.ErrorMessage)) { return(orderViewModel); } var orderItems = orderRepository.CheckProducts(orderDTO.Items); var productOwnerId = orderItems.FirstOrDefault().OwnerId; // --! var storeUser = userRepository.GetUser(productOwnerId); var customerUser = userRepository.GetUserFromSignalR(Context.ConnectionId); if (storeUser == null || customerUser == null || productOwnerId == -1 || orderItems.Count == 0) { return(new ViewModels.OrderViewModel() { ErrorMessage = "Invalid Order-Data...", }); } orderViewModel.Items = orderItems; orderViewModel.CustomerUser = customerUser; orderViewModel.StoreUser = storeUser; } bool isStoreUser = false; if (Context.User.Identity.Name == orderViewModel.StoreUser.Name) { isStoreUser = true; } orderProcessFactory = Factories.OrderProcessFactory.GetOrderProcessImplementation(Enums.EnumServiceType.OrderService); var orderVMResult = orderProcessFactory.ProcessOrder(orderViewModel, isStoreUser); orderViewModel = orderVMResult; return(orderViewModel); }