コード例 #1
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Id, InterestPointId, NewsLetterId")] InterestPointNewsletterViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var getOperation = await _bo.ReadAsync((Guid)id);

                if (!getOperation.Success)
                {
                    return(OperationErrorBackToIndex(getOperation.Exception));
                }
                if (getOperation.Result == null)
                {
                    return(NotFound());
                }
                var result = getOperation.Result;
                result.InterestPointId = vm.InterestPointId;
                result.NewsLetterId    = vm.NewsLetterId;
                var updateOperation = await _bo.UpdateAsync(result);

                if (!updateOperation.Success)
                {
                    TempData["Alert"] = AlertFactory.GenerateAlert(NotificationType.Danger, updateOperation.Exception);
                    return(View(vm));
                }
                else
                {
                    return(OperationSuccess("The record was successfuly updated"));
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
コード例 #2
0
        public async Task <IActionResult> Index()
        {
            var listOperation = await _bo.ListAsync();

            if (!listOperation.Success)
            {
                return(OperationErrorBackToIndex(listOperation.Exception));
            }
            var nListOperation = await _nbo.ListAsync();

            if (!nListOperation.Success)
            {
                return(OperationErrorBackToIndex(listOperation.Exception));
            }
            var ipListOperation = await _ipbo.ListAsync();

            if (!ipListOperation.Success)
            {
                return(OperationErrorBackToIndex(listOperation.Exception));
            }

            var list = new List <InterestPointNewsletterViewModel>();

            foreach (var item in listOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    list.Add(InterestPointNewsletterViewModel.Parse(item));
                }
            }

            var nList = new List <NewsletterViewModel>();

            foreach (var item in nListOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    nList.Add(NewsletterViewModel.Parse(item));
                }
            }

            var ipList = new List <InterestPointViewModel>();

            foreach (var item in ipListOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    ipList.Add(InterestPointViewModel.Parse(item));
                }
            }
            ViewData["Title"]       = "Interest Point Newsletter";
            ViewData["BreadCrumbs"] = GetCrumbs();
            ViewData["DeleteHref"]  = GetDeleteRef();
            ViewBag.Newsletters     = nList;
            ViewBag.InterestPoints  = ipList;
            return(View(list));
        }
コード例 #3
0
        public async Task <IActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(RecordNotFound());
            }
            var getOperation = await _bo.ReadAsync((Guid)id);

            if (!getOperation.Success)
            {
                return(OperationErrorBackToIndex(getOperation.Exception));
            }
            if (getOperation.Result == null)
            {
                return(RecordNotFound());
            }

            var getIPOperation = await _ipbo.ReadAsync(getOperation.Result.InterestPointId);

            if (!getIPOperation.Success)
            {
                return(OperationErrorBackToIndex(getIPOperation.Exception));
            }
            if (getIPOperation.Result == null)
            {
                return(RecordNotFound());
            }

            var getNOperation = await _nbo.ReadAsync(getOperation.Result.NewsLetterId);

            if (!getNOperation.Success)
            {
                return(OperationErrorBackToIndex(getNOperation.Exception));
            }
            if (getNOperation.Result == null)
            {
                return(RecordNotFound());
            }

            var vm = InterestPointNewsletterViewModel.Parse(getOperation.Result);

            ViewData["Title"] = "Interest Point Newsletter";

            var crumbs = GetCrumbs();

            crumbs.Add(new BreadCrumb()
            {
                Action = "New", Controller = "InterestPointNewsletters", Icon = "fa-search", Text = "Detail"
            });
            ViewData["InterestPoints"] = InterestPointViewModel.Parse(getIPOperation.Result);
            ViewData["Newsletters"]    = NewsletterViewModel.Parse(getNOperation.Result);
            ViewData["BreadCrumbs"]    = crumbs;
            return(View(vm));
        }
コード例 #4
0
        public ActionResult Create([FromBody] InterestPointNewsletterViewModel vm)
        {
            var interestPointNewsletter = new InterestPointNewsletter(vm.InterestPointId, vm.NewsLetterId);

            var res = _bo.Create(interestPointNewsletter);

            if (!res.Success)
            {
                return(new ObjectResult(HttpStatusCode.InternalServerError));
            }
            else
            {
                return(new ObjectResult(HttpStatusCode.OK));
            }
        }
コード例 #5
0
        public async Task <IActionResult> Create([Bind("InterestPointId, NewsLetterId")] InterestPointNewsletterViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var InterestPointNewsletter = vm.ToInterestPointNewsletter();
                var createOperation         = await _bo.CreateAsync(InterestPointNewsletter);

                if (!createOperation.Success)
                {
                    return(OperationErrorBackToIndex(createOperation.Exception));
                }
                return(OperationSuccess("The record was successfuly created"));
            }
            return(View(vm));
        }
コード例 #6
0
        public ActionResult <List <InterestPointNewsletterViewModel> > List()
        {
            var res = _bo.List();

            if (!res.Success)
            {
                return(new ObjectResult(HttpStatusCode.InternalServerError));
            }
            var list = new List <InterestPointNewsletterViewModel>();

            foreach (var item in res.Result)
            {
                list.Add(InterestPointNewsletterViewModel.Parse(item));
            }
            return(list);
        }
コード例 #7
0
        public ActionResult <InterestPointNewsletterViewModel> Get(Guid id)
        {
            var res = _bo.Read(id);

            if (res.Success)
            {
                if (res.Result == null)
                {
                    return(NotFound());
                }
                var vm = InterestPointNewsletterViewModel.Parse(res.Result);
                return(vm);
            }
            else
            {
                return(new ObjectResult(HttpStatusCode.InternalServerError));
            }
        }
コード例 #8
0
        public ActionResult Update([FromBody] InterestPointNewsletterViewModel vm)
        {
            var currentResult = _bo.Read(vm.Id);

            if (!currentResult.Success)
            {
                return(new ObjectResult(HttpStatusCode.InternalServerError));
            }
            var current = currentResult.Result;

            if (current == null)
            {
                return(NotFound());
            }
            if (current.InterestPointId == vm.InterestPointId &&
                current.NewsLetterId == vm.NewsLetterId)
            {
                return(new ObjectResult(HttpStatusCode.NotModified));
            }

            if (current.InterestPointId != vm.InterestPointId)
            {
                current.InterestPointId = vm.InterestPointId;
            }
            if (current.NewsLetterId != vm.NewsLetterId)
            {
                current.NewsLetterId = vm.NewsLetterId;
            }


            var updateResult = _bo.Update(current);

            if (!updateResult.Success)
            {
                return(new ObjectResult(HttpStatusCode.InternalServerError));
            }
            return(Ok());
        }
コード例 #9
0
        public async Task <IActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(RecordNotFound());
            }
            var getOperation = await _bo.ReadAsync((Guid)id);

            if (!getOperation.Success)
            {
                return(OperationErrorBackToIndex(getOperation.Exception));
            }
            if (getOperation.Result == null)
            {
                return(RecordNotFound());
            }

            var vm             = InterestPointNewsletterViewModel.Parse(getOperation.Result);
            var listNOperation = await _nbo.ListAsync();

            if (!listNOperation.Success)
            {
                return(OperationErrorBackToIndex(listNOperation.Exception));
            }

            var nList = new List <SelectListItem>();

            foreach (var item in listNOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    var listItem = new SelectListItem()
                    {
                        Value = item.Id.ToString(), Text = item.Title
                    };
                    if (item.Id == vm.NewsLetterId)
                    {
                        listItem.Selected = true;
                    }
                    nList.Add(listItem);
                }
            }
            ViewBag.Newsletters = nList;

            var listIpOperation = await _ipbo.ListAsync();

            if (!listIpOperation.Success)
            {
                return(OperationErrorBackToIndex(listIpOperation.Exception));
            }

            var ipList = new List <SelectListItem>();

            foreach (var item in listIpOperation.Result)
            {
                if (!item.IsDeleted)
                {
                    var listItem = new SelectListItem()
                    {
                        Value = item.Id.ToString(), Text = item.Name
                    };
                    if (item.Id == vm.NewsLetterId)
                    {
                        listItem.Selected = true;
                    }
                    ipList.Add(listItem);
                }
            }
            ViewBag.InterestPoints = ipList;

            ViewData["Title"] = "Edit Interest Point Newsletter";
            var crumbs = GetCrumbs();

            crumbs.Add(new BreadCrumb()
            {
                Action = "Edit", Controller = "InterestPointNewsletters", Icon = "fa-edit", Text = "Edit"
            });
            ViewData["BreadCrumbs"] = crumbs;
            return(View(vm));
        }