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)));
        }
Example #3
0
        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)));
        }
Example #4
0
 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 " }));
     }
 }
Example #5
0
        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)));
        }