Exemplo n.º 1
0
        public async Task <IActionResult> EditService(ServiceEditViewModel webModel)
        {
            if (ModelState.IsValid)
            {
                bool flag;
                if (string.IsNullOrEmpty(webModel.Id))
                {
                    //Add Data
                    flag = await _service.InsertServiceAsync(webModel, _context);
                }
                else
                {
                    //Update Data
                    flag = await _service.UpdateServiceAsync(webModel, _context);
                }

                return(Json(new
                {
                    success = flag,
                    msg = flag ? "迎新服务信息编辑成功" : "迎新服务信息编辑失败"
                }));
            }

            return(Json(new
            {
                success = false,
                msg = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).FirstOrDefault().ErrorMessage
            }));
        }
Exemplo n.º 2
0
        public IActionResult Edit(ServiceEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                Services service = _serviceRepository.GetService(model.Id);
                service.ServiceGroup = model.ServiceGroup;
                service.Name         = model.Name;
                if (model.Photo != null)
                {
                    if (model.ExistingPhotoPath != null)
                    {
                        string filePath = Path.Combine(hostingEnvironment.WebRootPath,
                                                       "images", model.ExistingPhotoPath);
                        System.IO.File.Delete(filePath);
                    }
                    service.PhotoPath = ProcessUploadedFile(model);
                }
                service.ServiceStatus = model.ServiceStatus;

                _serviceRepository.Update(service);
                return(RedirectToAction("index", "service"));
            }

            return(View());
        }
        public ActionResult Create(ServiceEditViewModel model)
        {
            var service = GetServiceFromViewModel(model);

            service = serviceRepo.Save(service);

            if (service.Id != 0)
            {
                return(RedirectToAction("Details", new { id = service.Id }));
            }

            model.Providers = providerRepo.ResultTable
                              .Select(x => new SelectListItem()
            {
                Text = x.OrganizationName, Value = x.Id.ToString()
            })
                              .ToList();
            model.Recipients = recipientRepo.ResultTable
                               .Select(x => new SelectListItem()
            {
                Text = x.OrganizationName, Value = x.Id.ToString()
            })
                               .ToList();
            return(View(model));
        }
        public ActionResult Edit(ServiceEditViewModel model)
        {
            var service = GetServiceFromViewModel(model);

            serviceRepo.Save(service);

            return(RedirectToAction("Details", new { id = model.Id }));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 新增院系信息
        /// </summary>
        /// <param name="webModel">院系编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        /// <returns></returns>
        public static async Task <Service> InsertAsync(ServiceEditViewModel webModel, ApplicationDbContext context)
        {
            Service model = InsertModel(webModel);

            await context.Service.AddAsync(model);

            return(model);
        }
Exemplo n.º 6
0
        public ActionResult Edit(ServiceEditViewModel service)
        {
            if (ModelState.IsValid)
            {
                _serviceManager.Update(service);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 7
0
        /// <summary>
        /// 更新院系信息
        /// </summary>
        /// <param name="webModel">院系编辑页视图模型</param>
        /// <param name="context">数据库上下文对象</param>
        public static async void UpdateAsync(ServiceEditViewModel webModel, ApplicationDbContext context)
        {
            var model = await context.Service.FirstOrDefaultAsync(i => i.Id == Convert.ToInt64(webModel.Id));

            if (model == null)
            {
                return;
            }

            model = UpdateModel(webModel, model);
        }
Exemplo n.º 8
0
        public async Task <IActionResult> EditService(string id)
        {
            ServiceEditViewModel webModel = new ServiceEditViewModel();

            if (!string.IsNullOrEmpty(id))
            {
                //编辑信息,加载迎新服务信息
                webModel = await _service.GetServiceAsync(Convert.ToInt64(id), _context);
            }

            return(View(webModel));
        }
        private ServiceEditViewModel GetModelWithId(int id)
        {
            var service             = serviceRepo.ResultTable.Where(x => x.Id == id).FirstOrDefault();
            var providers           = providerRepo.ResultTable.ToList();
            var providerList        = new List <SelectListItem>();
            var locationList        = new List <SelectListItem>();
            var missingLocationList = new List <SelectListItem>();
            var missingLocations    = locationRepo.ResultTable.ToList();
            var nullSelectItem      = new SelectListItem();

            providerList.Add(nullSelectItem);

            foreach (var provider in providers)
            {
                var listItem = new SelectListItem();
                listItem.Text  = provider.OrganizationName;
                listItem.Value = provider.Id.ToString();
                providerList.Add(listItem);
            }

            foreach (var location in service.Locations)
            {
                var listItem = new SelectListItem();
                listItem.Text  = location.LocationName;
                listItem.Value = location.Id.ToString();
                locationList.Add(listItem);
                missingLocations.Remove(location);
            }

            foreach (var location in missingLocations)
            {
                var listItem = new SelectListItem();
                listItem.Text  = location.LocationName;
                listItem.Value = location.Id.ToString();
                missingLocationList.Add(listItem);
            }

            var model = new ServiceEditViewModel()
            {
                Id = service.Id,

                ServiceName      = service.ServiceName,
                ServiceDetails   = service.ServiceDetails,
                Providers        = providerList,
                CurrentProvider  = service.ServiceProviders.FirstOrDefault(),
                Locations        = locationList,
                MissingLocations = missingLocationList
            };

            return(model);
        }
Exemplo n.º 10
0
        public ViewResult Edit(int id)
        {
            Services             service = _serviceRepository.GetService(id);
            ServiceEditViewModel serviceEditViewModel = new ServiceEditViewModel
            {
                Id                = service.Id,
                ServiceGroup      = service.ServiceGroup,
                Name              = service.Name,
                ServiceStatus     = service.ServiceStatus,
                ExistingPhotoPath = service.PhotoPath,
            };

            return(View(serviceEditViewModel));
        }
Exemplo n.º 11
0
        /// <summary>
        /// Update Service Model
        /// </summary>
        /// <param name="webModel"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        private static Service UpdateModel(ServiceEditViewModel webModel, Service model)
        {
            model.Address      = webModel.Address;
            model.Description  = webModel.Description;
            model.EndTime      = Convert.ToDateTime(webModel.EndTime);
            model.Name         = webModel.Name;
            model.Place        = webModel.Place;
            model.StartTime    = Convert.ToDateTime(webModel.StartTime);
            model.IsEnabled    = (int)webModel.IsEnabled == 1;
            model.ModifiedOn   = DateTime.Now;
            model.ModifiedId   = CurrentUser.UserId;
            model.ModifiedBy   = CurrentUser.UserOID;
            model.ModifiedName = CurrentUser.UserName;

            return(model);
        }
Exemplo n.º 12
0
 /// <summary>
 /// Insert Service Model
 /// </summary>
 /// <param name="webModel"></param>
 /// <returns></returns>
 private static Service InsertModel(ServiceEditViewModel webModel)
 {
     return(new Service
     {
         Address = webModel.Address,
         CreatedBy = CurrentUser.UserOID,
         CreatedId = CurrentUser.UserId,
         CreatedName = CurrentUser.UserName,
         Description = webModel.Description,
         EndTime = Convert.ToDateTime(webModel.EndTime),
         Name = webModel.Name,
         Place = webModel.Place,
         StartTime = Convert.ToDateTime(webModel.StartTime),
         IsEnabled = (int)webModel.IsEnabled == 1,
     });
 }
Exemplo n.º 13
0
        public void Update(ServiceEditViewModel updatedObject)
        {
            if (updatedObject.SelectedTags != null && updatedObject.SelectedTags.Count() != 0)
            {
                var res = _tagRepository.Find(p => updatedObject.SelectedTags.Cast <int>().Contains(p.PK_ID));
                if (res.Any())
                {
                    foreach (var tag in res)
                    {
                        updatedObject.CurrentServiceObject.Tags.Add(tag);
                    }
                }
            }

            _serviceRepository.Update(updatedObject.CurrentServiceObject);
            _serviceRepository.Save();
        }
Exemplo n.º 14
0
        /// <summary>
        /// 新增迎新服务信息
        /// </summary>
        /// <param name="webModel">编辑页视图Model</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <bool> InsertServiceAsync(ServiceEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Add the Service Data
                var model = await AdmissionRepository.InsertAsync(webModel, context);

                //Make the transaction commit
                var index = await context.SaveChangesAsync();

                return(index == 1);
            }
            catch (Exception ex)
            {
                _logger.LogError("创建迎新服务失败:{0},\r\n内部错误详细信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }
Exemplo n.º 15
0
        public async Task <IActionResult> Edit(int?serviceId)
        {
            if (serviceId != null)
            {
                ServiceEditViewModel model = new ServiceEditViewModel()
                {
                    ServiceLanguages = await db.ServiceLanguages
                                       .Where(sl => sl.ServiceId == serviceId)
                                       .Include(s => s.Service)
                                       .ThenInclude(s => s.Photos)
                                       .ToListAsync(),
                    Languages = await db.Languages.ToListAsync()
                };

                return(View(model));
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 16
0
        /// <summary>
        /// 更新迎新服务信息
        /// </summary>
        /// <param name="webModel">编辑页视图Model</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <bool> UpdateServiceAsync(ServiceEditViewModel webModel, ApplicationDbContext context)
        {
            try
            {
                //Update Service Data
                AdmissionRepository.UpdateAsync(webModel, context);

                //Add Operate Information
                var operate = string.Format("修改迎新服务信息,迎新服务编号:{0}", webModel.Id);
                PSURepository.InsertRecordAsync("Service", "AdmissionDomain", "UpdateServiceAsync", operate, (short)PSURepository.OperateCode.Update, Convert.ToInt64(webModel.Id), context);

                var index = await context.SaveChangesAsync();

                return(index == 2);
            }
            catch (Exception ex)
            {
                _logger.LogError("更新迎新服务失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
                return(false);
            }
        }
Exemplo n.º 17
0
        public ServiceEditViewModel Update(int updatedObjectPrimaryKey)
        {
            ServiceEditViewModel vm = new ServiceEditViewModel();

            vm.CurrentServiceObject = _serviceRepository.GetById(updatedObjectPrimaryKey);
            vm.Users = _userRepository
                       .All()
                       .ToList()
                       .Select(e => new SelectListItem {
                Text = e.Name, Value = e.PK_ID.ToString()
            })
                       .WithEmptyItem("Select developer")
                       .WithSelection(vm.CurrentServiceObject.FK_Owner.ToString())
                       .ToList();

            // getting tags
            IEnumerable <SRREntityTagKeywords> tags = _tagRepository.All().ToList();

            vm.Tags = new MultiSelectList(tags, "PK_ID", "Name", vm.CurrentServiceObject.Tags.Select(p => p.PK_ID).ToArray());

            return(vm);
        }
Exemplo n.º 18
0
        /// <summary>
        /// 获取迎新服务信息
        /// </summary>
        /// <param name="id">迎新服务编号</param>
        /// <param name="context">数据库连接上下文对象</param>
        /// <returns></returns>
        public async Task <ServiceEditViewModel> GetServiceAsync(long id, ApplicationDbContext context)
        {
            var webModel = new ServiceEditViewModel();

            try
            {
                var model = await AdmissionRepository.GetServiceAsync(id, context);

                webModel.Id          = model.Id.ToString();
                webModel.Description = model.Description;
                webModel.EndTime     = model.EndTime.ToString();
                webModel.IsEnabled   = (Enable)(model.IsEnabled ? 1 : 0);
                webModel.Name        = model.Name;
                webModel.Place       = model.Place;
                webModel.Address     = model.Address;
                webModel.StartTime   = model.StartTime.ToString();
            }
            catch (Exception ex)
            {
                _logger.LogError("获取迎新服务数据失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message);
            }
            return(webModel);
        }
Exemplo n.º 19
0
        private Service GetServiceFromViewModel(ServiceEditViewModel model)
        {
            var service = new Service();

            if (model.Id != 0)
            {
                service = serviceRepo.ResultTable.Where(x => x.Id == model.Id).First();
            }

            service.ServiceName    = model.ServiceName;
            service.ServiceDetails = model.ServiceDetails;
            var locationList = new List <string>();

            if (model.AddLocations.Count > 0)
            {
                locationList = model.AddLocations;
                for (int i = 0; i < model.AddLocations.Count; i++)
                {
                    var locationId = Convert.ToInt16(locationList[i]);
                    var location   = locationRepo.ResultTable.Where(x => x.Id == locationId).FirstOrDefault();
                    service.Locations.Add(location);
                }
            }

            if (model.RemoveLocations.Count > 0)
            {
                locationList = model.RemoveLocations;
                for (int i = 0; i < model.RemoveLocations.Count; i++)
                {
                    var locationId = Convert.ToInt16(locationList[i]);
                    var location   = locationRepo.ResultTable.Where(x => x.Id == locationId).FirstOrDefault();
                    service.Locations.Remove(location);
                }
            }


            service.ServiceRecipients = recipientRepo.ResultTable
                                        .Where(x => x.Id == model.SelectedRecipientId)
                                        .ToList();


            if (model.SelectedProviderId != null)
            {
                var providerId           = Convert.ToInt32(model.SelectedProviderId);
                var initialProviderCount = service.ServiceProviders.Count;
                for (int i = 0; i < initialProviderCount; i++)
                {
                    var provider = service.ServiceProviders.Last();
                    service.ServiceProviders.Remove(provider);
                }
                var newServiceProvider = providerRepo.ResultTable
                                         .Where(x => x.Id == providerId).First();
                service.ServiceProviders.Add(newServiceProvider);
            }



            service.ServiceType = new ServiceType();
            serviceRepo.Save(service);
            return(service);
        }