コード例 #1
0
        public async Task <IActionResult> CreateEv(EventViewModel ev, int idEv)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "CreateEv", ev) }));
            }

            if (idEv == 0)
            {
                var curUsr = await _userManager.GetUserAsync(this.User);

                var Event = new Event_
                {
                    Name    = ev.Name,
                    OwnerId = curUsr.Id,
                    Image   = await _fileManager.SaveImage(ev.Image),
                };
                await _dbContext.Events.AddAsync(Event);

                if (await _saveRepository.SaveAsync())
                {
                    int id = Event.Id;
                    return(RedirectToAction("Event", "Event", new { id = id }));
                }
                return(View(ev));
            }
            else
            {
                var toUpdate = _dbContext.Events.FirstOrDefault(o => o.Id == idEv);
                toUpdate.Image = await _fileManager.SaveImage(ev.Image);

                toUpdate.Name = ev.Name;
                _dbContext.Events.Update(toUpdate);
                if (await _saveRepository.SaveAsync())
                {
                    int id = toUpdate.Id;
                    return(RedirectToAction("Event", "Event", new { id = id }));
                }
            }
            return(View(ev));
        }