public MeetingViewModel Create(MeetingViewModel product) { meetingService.Insert(product); Clients.Others.create(product); return(product); }
public virtual JsonResult Meetings_Create([DataSourceRequest] DataSourceRequest request, MeetingViewModel meeting) { if (ModelState.IsValid) { meetingService.Insert(meeting, ModelState); } return(Json(new[] { meeting }.ToDataSourceResult(request, ModelState))); }
public virtual JsonResult Meetings_Create([DataSourceRequest] DataSourceRequest request, IEnumerable <MeetingViewModel> models) { if (ModelState.IsValid) { foreach (var meeting in models) { meetingService.Insert(meeting, ModelState); } } return(Json(models.ToDataSourceResult(request, ModelState))); }
public virtual ActionResult Meetings_Create([DataSourceRequest] DataSourceRequest request, MeetingViewModel meeting) { if (ModelState.IsValid) { if (CheckEventSlot(meeting)) { meetingService.Insert(meeting, ModelState); return(Json(new[] { meeting }.ToDataSourceResult(request, ModelState))); } else { ModelState.AddModelError("", "New event is not allowed because of unavailable slots"); return(View(meeting)); } } else { return(Json(new { Success = false, Message = "Not all required fileds are filled " })); } }
public JsonResult Meetings_Create([DataSourceRequest] DataSourceRequest request, MeetingViewModel meeting) { RegexUtilities util = new RegexUtilities(); aspnetdbEntities db = new aspnetdbEntities(); var init = GetAllPB().FirstOrDefault(m => m.Sammaccount == User.Identity.Name); meeting.InitName = init.Id; meeting.FName = init.DispName; if (meeting.RoomID == 0) { meeting.RoomID = 1; } var roomalias = db.VmrAliases.FirstOrDefault(m => m.vmid == meeting.RoomID); var currentroom = db.AllVmrs.FirstOrDefault(m => m.Id == meeting.RoomID); meeting.OpLink = string.Concat("https://", MvcApplication.set.CobaCfgAddress, "/webapp/?conference=", roomalias.alias, "&name=Operator&bw=512&join=1"); List <AspNetUser> emaillist = new List <AspNetUser>(); //emaillist.Add(init); StringBuilder strB = new StringBuilder(); if (meeting.Attendees != null) { foreach (var att in meeting.Attendees) { AspNetUser attemail = (GetAllPB().FirstOrDefault(m => m.Id == att)); emaillist.Add(attemail); } } List <string> AddAtt = new List <string>(); if (meeting.AddAttend != null) { AddAtt = (meeting.AddAttend.Split((",").ToCharArray())).ToList(); } if (!String.IsNullOrEmpty(currentroom.guest_pin)) { gpmail = "PIN для входа: " + currentroom.guest_pin; gp = "&pin=" + currentroom.guest_pin; } if (String.IsNullOrEmpty(currentroom.guest_pin)) { gpmail = ""; gp = "&role=guest"; } foreach (var aa in AddAtt) { strB.Append(aa + ";" + aa + Environment.NewLine); if (util.IsValidEmail(aa)) { AspNetUser ar = new AspNetUser(); ar.Email = aa; ar.DispName = aa; emaillist.Add(ar); } else { } } foreach (var mail in emaillist) { string link = "<a href =\"" + "https://" + MvcApplication.set.CobaCfgAddress + "/webapp/?conference=" + roomalias.alias + "&name=" + Uri.EscapeDataString(mail.DispName) + "&bw=512" + gp + "&join=1" + "\">ссылке</a>"; string body = "Уважамый(ая), " + mail.DispName + " !<br>" + (meeting.Start + TimeSpan.FromHours(3)).ToString("U") + " состоится конференция на тему \"" + meeting.Title + "\"." + "<br>" + "Инициатор конференции: " + init.DispName + "<br>" + "В указанное время, для участия в конференции, просьба перейти по " + link + "<br><br>" + "<b><i>Данные для самостоятельного входа:<i><b><br> Адрес сервера: " + "https://" + MvcApplication.set.CobaCfgAddress + "/" + "<br>" + "Имя конференции: " + roomalias.alias + "<br>" + gpmail + "<br>" + "SIP-адрес: " + roomalias.alias + "@" + MvcApplication.set.CobaCfgAddress; Event new_event = new Event() { UID = meeting.MeetingID.ToString(), Location = "Moscow", Status = EventStatus.CONFIRMED, Organizer = new Organizer() { PublicName = init.DispName, Email = init.Email }, StartTime = meeting.Start, EndTime = meeting.End, Description = "Voici une conf", Title = meeting.Title, Attendees = { } }; try { Sendmail(mail.Email, "NEW: " + meeting.Title, body, meeting, new_event); } catch (Exception e) { Debug.WriteLine(e.Message); Debug.WriteLine(e.HResult); } } #region old //if (ModelState.IsValid) //{ // var owner = AccountController.currentuser; // var filename = "meeting-" + owner.GivenName + "-" + // (meeting.Start + TimeSpan.FromHours(3)).ToString("dd-MM-yyyy_hh-mm") + ".csv"; // string path = Path.Combine(Server.MapPath("~/Content/OpFiles/CSV"), filename); // Debug.WriteLine(path); // meeting.FileLink = "Content/OpFiles/CSV/" + filename; // Debug.WriteLine("Valid"); // using (FileStream fileStream = new FileStream(path, FileMode.OpenOrCreate)) // { // using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) // { // streamWriter.Write(strB.ToString()); // } // } // if (meeting.Record) // { // Debug.WriteLine("Задача на запись создана"); // var tasktitle = String.Concat("rec-", owner.GivenName, "-", // (meeting.Start + TimeSpan.FromHours(3)).ToString("dd-MM-yyyy_hh-mm")); // var taskapp = Path.Combine(Server.MapPath("~/Content/OpFiles"), "flvstreamer.exe"); // var file_name = "rec-" + owner.GivenName + "-" + // (meeting.Start + TimeSpan.FromHours(3)).ToString("dd-MM-yyyy_hh-mm") + ".flv"; // var pathflv = Path.Combine(Server.MapPath("~/Content/OpFiles/FLV"), file_name); // var stream_link = "rtmp://www.planeta-online.tv:1936/live/soyuz"; // meeting.Recfile = "Content/OpFiles/FLV/" + file_name; // var comment = "Запись конференции " + owner.GivenName + "-" + // (meeting.Start + TimeSpan.FromHours(3)).ToString("dd-MM-yyyy_hh-mm"); // var acc_un = "boris_000"; // var acc_pass = "******"; // var task_start = meeting.Start; // var task_end = meeting.End; // RecordTask(tasktitle, taskapp, pathflv, stream_link, comment, acc_un, acc_pass, task_start, task_end); // } // //} #endregion meetingService.Insert(meeting, ModelState); return(Json(new[] { meeting }.ToDataSourceResult(request, ModelState))); }