Beispiel #1
0
        public IActionResult SavePost(RepositoryViewModel model)
        {
            if (ModelState.IsValid)
            {
                ICmsManager manager = new CmsManager();
                IRepository repo;

                if (model.IsItANewRepository())
                {
                    repo = model.MapToModel(new Repository());
                    model.ApplyTemplate(repo);
                    manager.AddRepository(repo);
                }
                else
                {
                    try
                    {
                        int repoindex = manager.GetIndexById(model.Id.Value);
                        repo = manager.Data.Repositories[repoindex];
                        model.MapToModel(repo);
                    }
                    catch (InvalidOperationException)
                    {
                        throw new Exception("The content definition not found");
                    }
                }
                manager.Save();
                return(Redirect("/fcmsmanager/" + ViewModelHelpers.GetRepositoryBaseUrl(repo)));
            }

            return(View("Edit", new RepositoryViewModel()));
        }
Beispiel #2
0
        public JsonResult Save(SalesOrderViewModel salesOrderViewModel)
        {
            SalesOrder salesOrder = ViewModelHelpers.CreateSalesOrderFromSalesOrderViewModel(salesOrderViewModel);
        
            salesOrder.ObjectState = salesOrderViewModel.ObjectState;

            _salesContext.SalesOrders.Attach(salesOrder);
            _salesContext.ApplyStateChanges();

            _salesContext.SaveChanges();


            if (salesOrder.ObjectState == ObjectState.Deleted)
            {
                return Json(new { newLocation = "/Sales/Index/" });
            }

            salesOrderViewModel.MessageToClient = ViewModelHelpers.GetMessageToClient(salesOrderViewModel.ObjectState, salesOrder.CustomerName);
           
            salesOrderViewModel.SalesOrderId = salesOrder.Id;
            salesOrderViewModel.ObjectState = ObjectState.Unchanged;


            return Json(new { salesOrderViewModel });
        }
Beispiel #3
0
        public void FillWithModelData_UserToUserViewModel_ReturnsListOfUserViewModelObjects()
        {
            // Get the result
            var result = ViewModelHelpers.FillWithModelData <IUser, UserViewModel>(ListOfMockupUsers);

            // Check the result
            Assert.That(result, Is.TypeOf(typeof(List <UserViewModel>)));
        }
Beispiel #4
0
        public IActionResult delete(Guid repositoryid)
        {
            var cmsManager = new CmsManager();
            var repo       = cmsManager.GetRepositoryById(repositoryid);

            if (repo != null)
            {
                cmsManager.DeleteRepository(repositoryid);
                cmsManager.Save();
            }

            return(Redirect("/fcmsmanager/" + ViewModelHelpers.GetRepositoryBaseUrl(repo)));
        }
Beispiel #5
0
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Edit([Bind(Include = "Id,CustomerName,PONumber")] SalesOrder salesOrder)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        _salesContext.Entry(salesOrder).State = EntityState.Modified;
        //        _salesContext.SaveChanges();
        //        return RedirectToAction("Index");
        //    }
        //    return View(salesOrder);
        //}

        public ActionResult Delete(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            SalesOrder salesOrder = _salesContext.SalesOrders.Find(id);
            if (salesOrder == null)
            {
                return HttpNotFound();
            }
            SalesOrderViewModel salesorderViewModel = ViewModelHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder);
            salesorderViewModel.MessageToClient = string.Format("You are about to permanent delete");
           
            return View(salesorderViewModel);
        }
Beispiel #6
0
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            SalesOrder salesOrder = _salesContext.SalesOrders.Find(id);
            if (salesOrder == null)
            {
                return HttpNotFound();
            }

            SalesOrderViewModel salesorderViewModel = ViewModelHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder);

            salesorderViewModel.MessageToClient = string.Format("The original values of Customer Name is {0}", salesorderViewModel.CustomerName);
           
            return View(salesorderViewModel);
        }
Beispiel #7
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SalesOrder salesOrder = _salesContext.SalesOrders.Find(id);

            if (salesOrder == null)
            {
                return(HttpNotFound());
            }
            var salesOrderViewModel = ViewModelHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder);

            salesOrderViewModel.MessageToClient = "I originated from the viewmodel, not the model";

            return(View(salesOrderViewModel));
        }
Beispiel #8
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SalesOrder salesOrder = _salesContext.SalesOrders.Find(id);

            if (salesOrder == null)
            {
                return(HttpNotFound());
            }
            var salesOrderViewModel = ViewModelHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder);

            salesOrderViewModel.MessageToClient = "You are about to permanently delete this sales order.";
            salesOrderViewModel.ObjectState     = ObjectState.Deleted;
            return(View(salesOrderViewModel));
        }
Beispiel #9
0
        public IActionResult PostAction(FilteredContentViewModel filter)
        {
            IRepository repository = new CmsManager().GetRepositoryById(filter.RepositoryId);

            IContentStore contentStore = new CmsManager().GetContentStore(filter.RepositoryId);

            var filters = ViewModelHelpers.GetFilters(Request);

            PageEditorViewModel model = new PageEditorViewModel()
            {
                RepositoryId       = filter.RepositoryId,
                RepositoryName     = repository.Name,
                ContentDefinitions = repository.ContentDefinitions,
                ContentItems       = contentStore.Items.Where(m => m.MatchFilters(filters)).ToList(),
                Filters            = filters
            };

            return(View("edit", model));
        }
Beispiel #10
0
        public IActionResult SaveAction(PageEditorViewModel model)
        {
            var         manager    = new CmsManager();
            IRepository repository = manager.GetRepositoryById(model.RepositoryId);

            if (repository == null)
            {
                return(Redirect("/fcmsmanager/page"));
            }

            IContentStore contentStore = manager.GetContentStore(model.RepositoryId);

            model.RepositoryName     = repository.Name;
            model.ContentDefinitions = repository.ContentDefinitions;
            model.ContentItems       = contentStore.Items.Where(m => m.Filters.Count == 0).ToList();

            if (ModelState.IsValid)
            {
                foreach (var definition in model.ContentDefinitions.Where(m => m is not FolderContentDefinition))
                {
                    ContentItem item = model.ContentItems.FirstOrDefault(m => m.DefinitionId == definition.DefinitionId);
                    if (item == null)
                    {
                        item = FCms.Factory.ContentFactory.CreateContentByType(definition);
                        ViewModelHelpers.MapToContentItem(item, Request, null, definition);
                        contentStore.Items.Add(item);
                    }
                    else
                    {
                        ViewModelHelpers.MapToContentItem(item, Request, item.Id, definition);
                    }
                }

                manager.SaveContentStore(contentStore);
                return(Redirect("/fcmsmanager/page"));
            }

            return(View("edit", model));
        }
Beispiel #11
0
 public ConfigurationViewModel()
 {
     if (this.IsInDesignMode)
     {
         _configurationModel = new ConfigurationModelSimulator();
     }
     else
     {
         _configurationModel = ClassLocator.GetInstance <IConfigurationModel>();
         Debug.Assert(_configurationModel != null, "INavigateCommands not found for AboutViewModel");
     }
     ConfigurationItems = new ObservableCollection <IConfigurationItemViewModel>();
     _configurationModel.ConfigurationItems.ToList().ForEach(i => ConfigurationItems.Add(ViewModelHelpers.GetConfigurationItemViewModel(i)));
 }
Beispiel #12
0
        public JsonResult Save(SalesOrderViewModel salesOrderViewModel)
        {
            if (!ModelState.IsValid)
            {
                throw new ModelStateException(ModelState);
            }

            SalesOrder salesOrder = ViewModelHelpers.CreateSalesOrderFromSalesOrderViewModel(salesOrderViewModel);

            _salesContext.SalesOrders.Attach(salesOrder);

            if (salesOrder.ObjectState == ObjectState.Deleted)
            {
                //if deleting the order, must set all children to also be deleted
                foreach (var itemViewModel in salesOrder.Items)
                {
                    var item = _salesContext.SalesOrderItems.Find(itemViewModel.Id);
                    if (item != null)
                    {
                        item.ObjectState = ObjectState.Deleted;
                    }
                }
            }
            else
            {
                //check to see if the client deleted any items in the order
                foreach (var itemIdToDelete in salesOrderViewModel.ItemsToDelete)
                {
                    //retrieve item to be deleted
                    SalesOrderItem item = _salesContext.SalesOrderItems.Find(itemIdToDelete);
                    if (item != null)
                    {
                        item.ObjectState = ObjectState.Deleted;
                    }
                }
            }

            _salesContext.ApplyStateChanges();
            string msgToClient = string.Empty;

            try
            {
                _salesContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                msgToClient = "Another user has modified this sales order since you began looking at it. Your changes have not been applied and your screen has been updated with the current values.";
            }
            catch (Exception ex)
            {
                throw new ModelStateException(ex);
            }

            if (salesOrder.ObjectState == ObjectState.Deleted)
            {
                //when deleting, do not return a view, tell the client to go to the Index instead
                //(we will program the client to look for this anonymous object)
                return(Json(new { newLocation = "/Sales/Index/" }));
            }

            //only assign msg here if no other msg assigned yet
            if (string.IsNullOrWhiteSpace(msgToClient))
            {
                msgToClient = ViewModelHelpers.GetMessageToClient(
                    salesOrderViewModel.ObjectState, salesOrderViewModel.CustomerName);
            }


            //save a copy of the id
            salesOrderViewModel.Id = salesOrder.Id;
            //dispose context to refresh data (someone else may have changed data)
            _salesContext.Dispose();
            _salesContext = new SalesContext();
            //refresh with latest data
            salesOrder = _salesContext.SalesOrders.Find(salesOrderViewModel.Id);

            salesOrderViewModel = ViewModelHelpers.CreateSalesOrderViewModelFromSalesOrder(salesOrder);
            salesOrderViewModel.MessageToClient = msgToClient;

            //return anonymous JSON object, not view model directly
            return(Json(new { salesOrderViewModel }));
        }