public ActionResult AddNewEvntPost(evnt ev) { if (ev.evnt_name == "" || ev.evnt_sdt == null || ev.evnt_edt == null) { ViewBag.error = "Please Fill all fields"; return(View()); } else { evrepo.Insert(ev); return(RedirectToAction("ViewEvnt", new { evnt_id = ev.evnt_id, evnt_name = ev.evnt_name })); } }
public async Task <IActionResult> SaveEvent([FromBody] evnt edata) { User user = _helperService.GetUser(); if (user == null) { return(Ok(new ErrorDto { StatusCode = StatusCodes.Status401Unauthorized, Message = "Unauthorized" })); } else { var Eventmodel = await _context.Event.Include(x => x.Calendar).Where(x => x.Id == edata.Id).SingleOrDefaultAsync(); if (Eventmodel != null) { _context.Entry <Event>(Eventmodel).State = EntityState.Detached; } Event evt = new Event(); if (edata.Id == 0) { Calendar caln = new Calendar(); caln.AddedOn = DateTime.Now; await _context.Calendar.AddAsync(caln); evt.Title = edata.Title; evt.StartTime = edata.Start; evt.EndTime = edata.End; evt.Description = edata.Description; evt.Status = 0; evt.CalendarId = caln.Id; evt.UID = Guid.NewGuid().ToString(); evt.Companyid = user.CompanyId; evt.EventType = 1; await _context.AddAsync(evt); List <EventUser> plist = new List <EventUser>(); foreach (long pid in edata.Participantids.Distinct().ToArray()) { EventUser puser = new EventUser(); puser.ParticipantId = pid; puser.Status = 0; puser.EventId = evt.Id; if (pid == user.Id) { puser.IsOrganizer = true; } plist.Add(puser); } _context.AddRange(plist); } else { evt.Id = edata.Id; _context.Event.Attach(evt); evt.Title = edata.Title; evt.StartTime = edata.Start; evt.EndTime = edata.End; evt.Description = edata.Description; evt.Status = edata.Status; List <EventUser> plist = new List <EventUser>(); foreach (long pid in edata.Participantids.Distinct().ToArray()) { EventUser puser = new EventUser(); puser.EventId = evt.Id; puser.ParticipantId = pid; puser.Status = 0; if (pid == user.Id) { puser.IsOrganizer = true; } plist.Add(puser); } var model = _context.Event .Include(x => x.Participants) .FirstOrDefault(x => x.Id == evt.Id); _context.TryUpdateManyToMany(model.Participants, plist .Select(x => new EventUser { ParticipantId = x.ParticipantId, EventId = evt.Id, IsOrganizer = x.IsOrganizer, Status = x.Status }), x => x.ParticipantId, true); } await _context.SaveChangesAsync(); return(await GetEvent(evt.Id)); } }