예제 #1
0
        public IActionResult UpdateColour([FromBody] ColourViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var result = ManageSiteHelper.AddColour(model, _context);

                    if (result == UpdateResult.Error)
                    {
                        throw new Exception("Colour couldn't be updated.");
                    }
                    else if (result == UpdateResult.Duplicate)
                    {
                        throw new Exception("Colour already exists.");
                    }

                    return(ControllerHelper.ReturnResult(UpdateResult.Success));
                }
                catch (System.Exception ex)
                {
                    StatusMessage = "An Error occured; " + ex.Message;
                }
            }

            model.StatusMessage = StatusMessage;

            return(ControllerHelper.ReturnResult(UpdateResult.Error, StatusMessage));
        }
예제 #2
0
        public MainWindow()
        {
            ColourViewModel cvm = new ColourViewModel();

            viewModel        = cvm;
            this.DataContext = ViewModel;
            InitializeComponent();
        }
        // GET: /<controller>/
        public IActionResult Colour(string statusMessage = null, string successMessage = null, string failureMessage = null)
        {
            var viewModel = new ColourViewModel()
            {
                Colours        = _context.Colours.OrderBy(x => x.Value).ToList(),
                SuccessMessage = successMessage,
                StatusMessage  = statusMessage,
                FailureMessage = failureMessage
            };

            return(View(viewModel));
        }
        public IActionResult Colour(ColourViewModel model)
        {
            string failureMessage = null;
            string successMessage = null;
            var    redirectUrl    = "/ManageSite/Colour";

            if (ModelState.IsValid)
            {
                var result = ManageSiteHelper.AddColour(model, _context);


                if (result == UpdateResult.Error)
                {
                    failureMessage = "Colour couldn't be updated.";
                }
                else if (result == UpdateResult.Success)
                {
                    successMessage = "Colour updated.";
                }
                else if (result == UpdateResult.Duplicate)
                {
                    failureMessage = "Colour already exists.";
                }
            }


            if (!string.IsNullOrWhiteSpace(failureMessage))
            {
                redirectUrl += string.Format("?failureMessage={0}", failureMessage);
            }
            if (!string.IsNullOrWhiteSpace(successMessage))
            {
                redirectUrl += string.Format("?successMessage={0}", successMessage);
            }

            return(ControllerHelper.RedirectToLocal(this, redirectUrl));
        }
예제 #5
0
        public static UpdateResult AddColour(ColourViewModel model, GustafsGalleryStoreContext context)
        {
            try
            {
                if (model.Id == 0)
                {
                    var colour = new Colour()
                    {
                        Value = model.Colour
                    };

                    List <Colour> colours = new List <Colour>();

                    colours = context.Colours.Where(x => x.Value == model.Colour).ToList();
                    if (colours.Count > 0)
                    {
                        return(UpdateResult.Duplicate);
                    }

                    context.Add(colour);
                }
                else
                {
                    var inDb = context.Colours.Where(x => x.Id == model.Id).SingleOrDefault();
                    inDb.Value = model.Colour;
                    context.Update(inDb);
                }

                context.SaveChanges();

                return(UpdateResult.Success);
            }
            catch
            {
                return(UpdateResult.Error);
            }
        }
예제 #6
0
 public MainWindow(ColourViewModel vm)
 {
     viewModel        = vm;
     this.DataContext = ViewModel;
     InitializeComponent();
 }