예제 #1
0
        public async Task <IActionResult> Edit(string id, MonitorItemViewModel viewModel)
        {
            if (id != viewModel.Monitor.ID.ToString())
            {
                return(NotFound());
            }

            if (viewModel.IsFormVisble())
            {
                try
                {
                    await _respository.Edit(viewModel);

                    await _respository.WriteUserLogger(this.GetUserID(), UserLoggerConfiger.EditMonitor, viewModel.Monitor.CUSTOMID);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_respository.Exist(id).Result)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }

            var result = await _respository.GetMonitorDeitalByID(id);

            if (result == null)
            {
                return(NotFound());
            }

            var monitors = await this._respository.GetListAsync();

            Func <ehc_dv_customer, bool> custom = l =>
            {
                return((!monitors.Exists(k => k.CUSTOMID == l.ID)) || l.ID == result.Monitor.CUSTOMID);
            };

            Func <ehc_dv_bed, bool> bed = l =>
            {
                return((!monitors.Exists(k => k.BEDID == l.ID)) || l.ID == result.Monitor.BEDID);
            };

            await this.RefreshDropList(custom, bed);

            return(View(viewModel));
        }
예제 #2
0
        public async Task <IActionResult> Create(MonitorItemViewModel viewModel)
        {
            //if (ModelState.IsValid)
            //{
            //    await _respository.Create(viewModel);

            //    await _respository.WriteUserLogger(this.GetUserID(), "添加监控", viewModel.Monitor.ID);

            //    return RedirectToAction(nameof(Index));
            //}

            if (viewModel.IsFormVisble())
            {
                await _respository.Create(viewModel);

                await _respository.WriteUserLogger(this.GetUserID(), UserLoggerConfiger.AddMonitor, viewModel.Monitor.ID);

                return(RedirectToAction(nameof(Index)));
            }

            var monitors = await this._respository.GetListAsync();

            Func <ehc_dv_customer, bool> custom = l =>
            {
                return(!monitors.Exists(k => k.CUSTOMID == l.ID));
            };

            Func <ehc_dv_bed, bool> bed = l =>
            {
                return(!monitors.Exists(k => k.BEDID == l.ID));
            };

            await this.RefreshDropList(custom, bed);

            return(View(viewModel));
        }