public async Task WhenSendingAMessage_ThenItCanBeRetrievedAgain()
        {
            var todo     = ToDo.Create("le nom", "hoi", 34, DateTime.UtcNow.AddDays(1), "*****@*****.**");
            var received = false;

            var configuration  = _queueTestContext.GetConfiguration();
            var receiverClient = new QueueClient(configuration.NamespaceConnectionString, configuration.CompletedTodosQueueName);

            receiverClient.RegisterMessageHandler((message, cancelationToken) => {
                var bytes  = message.Body;
                var json   = Encoding.UTF8.GetString(bytes);
                var actual = JsonConvert.DeserializeObject <ToDo>(json);
                if (actual.id == todo.id)
                {
                    received = true;
                }

                return(Task.CompletedTask);
            }, new MessageHandlerOptions((_) => { return(Task.CompletedTask); })
            {
                MaxConcurrentCalls = 1, AutoComplete = true
            });

            await _subject.SendCompletedTodoAsync(todo);

            do
            {
                await Task.Delay(1000);
            } while (!received);
        }
Ejemplo n.º 2
0
        public async Task WhenToDoIsAdded_ItCanBeRetrievedAgainById()
        {
            var todo = ToDo.Create("myTodo", "blalbla", 123, DateTime.UtcNow.AddDays(1), "*****@*****.**");

            await _subject.AddAsync(todo);

            var actual = _subject.GetById(todo.id);

            Assert.AreEqual(todo.Name, actual.Name);
        }
Ejemplo n.º 3
0
 public bool AddToDo(string title, string content, int status, int categoryId, int createBy)
 {
     try
     {
         if (_categoryRepository.IsCategoryAvailable(categoryId))
         {
             _toDoRepository.Insert(ToDo.Create(title, content, status, categoryId, createBy));
             _toDoRepository.Commit();
             return(true);
         }
         return(false);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Ejemplo n.º 4
0
        void btnSave_ServerClick(object sender, EventArgs e)
        {
            txtTitle.Text       = HttpUtility.HtmlEncode(txtTitle.Text);
            txtDescription.Text = HttpUtility.HtmlEncode(txtDescription.Text);

            ArrayList resources = new ArrayList();

            foreach (ListItem li in lbSelected.Items)
            {
                resources.Add(int.Parse(li.Value));
            }
            if (resources.Count == 0)
            {
                resources.Add(Mediachase.IBN.Business.Security.CurrentUser.UserID);
            }

            PrimaryKeyId org_id     = PrimaryKeyId.Empty;
            PrimaryKeyId contact_id = PrimaryKeyId.Empty;

            Mediachase.IBN.Business.Common.GetDefaultClient(PortalConfig.ToDoDefaultValueClientField, out contact_id, out org_id);

            ToDo.Create(_projectId, Mediachase.IBN.Business.Security.CurrentUser.UserID, txtTitle.Text,
                        txtDescription.Text, DateTime.MinValue, dueDate.SelectedDate, int.Parse(ddPriority.SelectedValue),
                        int.Parse(PortalConfig.ToDoDefaultValueActivationTypeField),
                        int.Parse(PortalConfig.ToDoDefaultValueCompetionTypeField),
                        bool.Parse(PortalConfig.ToDoDefaultValueMustConfirmField),
                        int.Parse(PortalConfig.ToDoDefaultValueTaskTimeField),
                        Mediachase.IBN.Business.Common.StringToArrayList(PortalConfig.ToDoDefaultValueGeneralCategoriesField),
                        null, null, resources, contact_id, org_id);

            string cmd = String.Empty;

            if (Request["CommandName"] != null)
            {
                CommandParameters cp = new CommandParameters(Request["CommandName"]);
                cmd = cp.ToString();
            }

            Mediachase.Ibn.Web.UI.WebControls.CommandHandler.RegisterCloseOpenedFrameScript(this.Page, cmd, cbUpdateParent.Checked);
        }
Ejemplo n.º 5
0
        protected void btnSend_Click(object sender, EventArgs e)
        {
            ArrayList res      = new ArrayList();
            ArrayList resAdmin = new ArrayList();

            #region MakeUsers
            int iId1 = MakeUser(txtFirstName1.Text, txtLastName1.Text, txtEMail1.Text, cbAdmin1.Checked);
            if (iId1 > 0)
            {
                if (cbAdmin1.Checked)
                {
                    resAdmin.Add(iId1);
                }
                res.Add(iId1);
            }

            int iId2 = MakeUser(txtFirstName2.Text, txtLastName2.Text, txtEMail2.Text, cbAdmin2.Checked);
            if (iId2 > 0)
            {
                if (cbAdmin2.Checked)
                {
                    resAdmin.Add(iId2);
                }
                res.Add(iId2);
            }

            int iId3 = MakeUser(txtFirstName3.Text, txtLastName3.Text, txtEMail3.Text, cbAdmin3.Checked);
            if (iId3 > 0)
            {
                if (cbAdmin3.Checked)
                {
                    resAdmin.Add(iId3);
                }
                res.Add(iId3);
            }

            int iId4 = MakeUser(txtFirstName4.Text, txtLastName4.Text, txtEMail4.Text, cbAdmin4.Checked);
            if (iId4 > 0)
            {
                if (cbAdmin4.Checked)
                {
                    resAdmin.Add(iId4);
                }
                res.Add(iId4);
            }

            res.Add(Security.CurrentUser.UserID);
            if (Security.IsUserInGroup(InternalSecureGroups.Administrator))
            {
                resAdmin.Add(Security.CurrentUser.UserID);
            }
            #endregion

            #region MakeObjects
            if (cbAdd.Checked)
            {
                //1.
                string       data0      = string.Format("[InternetShortcut]\r\nURL={0}", GlobalResourceManager.Strings["QuickHelpLink"]);
                MemoryStream memStream0 = new MemoryStream();
                StreamWriter writer0    = new StreamWriter(memStream0, Encoding.Unicode);
                writer0.Write(data0);
                writer0.Flush();
                memStream0.Seek(0, SeekOrigin.Begin);
                string title0         = String.Format("Справочник по работе с {0}", IbnConst.ProductFamilyShort);
                string html_filename0 = Mediachase.UI.Web.Util.CommonHelper.GetHtmlFileTitle(title0);
                if (html_filename0.IndexOf(".url") < 0)
                {
                    html_filename0 += ".url";
                }

                PrimaryKeyId org_id     = PrimaryKeyId.Empty;
                PrimaryKeyId contact_id = PrimaryKeyId.Empty;
                Common.GetDefaultClient(PortalConfig.ToDoDefaultValueClientField, out contact_id, out org_id);

                ToDo.Create(-1, Security.CurrentUser.UserID, String.Format("Ознакомиться со Справочником по работе с {0}", IbnConst.ProductFamilyShort), "", DateTime.Now, DateTime.MinValue,
                            int.Parse(PortalConfig.ToDoDefaultValuePriorityField),
                            int.Parse(PortalConfig.ToDoDefaultValueActivationTypeField),
                            int.Parse(PortalConfig.ToDoDefaultValueCompetionTypeField),
                            bool.Parse(PortalConfig.ToDoDefaultValueMustConfirmField),
                            int.Parse(PortalConfig.ToDoDefaultValueTaskTimeField),
                            Common.StringToArrayList(PortalConfig.ToDoDefaultValueGeneralCategoriesField),
                            html_filename0, memStream0, res, contact_id, org_id);

                //2.
                if (resAdmin.Count > 0)
                {
                    string       data      = string.Format("[InternetShortcut]\r\nURL={0}", "http://friends.pmbox.ru/media/p/5422.aspx");
                    MemoryStream memStream = new MemoryStream();
                    StreamWriter writer    = new StreamWriter(memStream, Encoding.Unicode);
                    writer.Write(data);
                    writer.Flush();
                    memStream.Seek(0, SeekOrigin.Begin);
                    string title         = String.Format("Администрирование {0}", IbnConst.ProductName);
                    string html_filename = Mediachase.UI.Web.Util.CommonHelper.GetHtmlFileTitle(title);
                    if (html_filename.IndexOf(".url") < 0)
                    {
                        html_filename += ".url";
                    }

                    ToDo.Create(-1, Security.CurrentUser.UserID, "Прочитать про администрирование портала", "", DateTime.Now, DateTime.MinValue,
                                int.Parse(PortalConfig.ToDoDefaultValuePriorityField),
                                int.Parse(PortalConfig.ToDoDefaultValueActivationTypeField),
                                int.Parse(PortalConfig.ToDoDefaultValueCompetionTypeField),
                                bool.Parse(PortalConfig.ToDoDefaultValueMustConfirmField),
                                int.Parse(PortalConfig.ToDoDefaultValueTaskTimeField),
                                Common.StringToArrayList(PortalConfig.ToDoDefaultValueGeneralCategoriesField),
                                html_filename, memStream, resAdmin, contact_id, org_id);
                }

                //3.
                string       data1      = string.Format("[InternetShortcut]\r\nURL={0}", "http://friends.pmbox.ru/files/folders/ibn/entry2685.aspx");
                MemoryStream memStream1 = new MemoryStream();
                StreamWriter writer1    = new StreamWriter(memStream1, Encoding.Unicode);
                writer1.Write(data1);
                writer1.Flush();
                memStream1.Seek(0, SeekOrigin.Begin);
                string title1         = String.Format("Что нового в {0} {1}", IbnConst.ProductFamilyShort, IbnConst.VersionMajorDotMinor);
                string html_filename1 = Mediachase.UI.Web.Util.CommonHelper.GetHtmlFileTitle(title1);
                if (html_filename1.IndexOf(".url") < 0)
                {
                    html_filename1 += ".url";
                }

                ToDo.Create(-1, Security.CurrentUser.UserID, String.Format("Ознакомиться с документом Что нового в {0} {1}", IbnConst.ProductFamilyShort, IbnConst.VersionMajorDotMinor), "", DateTime.Now, DateTime.MinValue,
                            int.Parse(PortalConfig.ToDoDefaultValuePriorityField),
                            int.Parse(PortalConfig.ToDoDefaultValueActivationTypeField),
                            int.Parse(PortalConfig.ToDoDefaultValueCompetionTypeField),
                            bool.Parse(PortalConfig.ToDoDefaultValueMustConfirmField),
                            int.Parse(PortalConfig.ToDoDefaultValueTaskTimeField),
                            Common.StringToArrayList(PortalConfig.ToDoDefaultValueGeneralCategoriesField),
                            html_filename1, memStream1, res, contact_id, org_id);

                //4.
                if (resAdmin.Count > 0)
                {
                    string       data2      = string.Format("[InternetShortcut]\r\nURL={0}", "http://friends.pmbox.ru/wikis/docs/help-desk-ibn.aspx");
                    MemoryStream memStream2 = new MemoryStream();
                    StreamWriter writer2    = new StreamWriter(memStream2, Encoding.Unicode);
                    writer2.Write(data2);
                    writer2.Flush();
                    memStream2.Seek(0, SeekOrigin.Begin);
                    string title2         = String.Format("Как настроить работу Help Desk в {0} {1}", IbnConst.ProductFamilyShort, IbnConst.VersionMajorDotMinor);
                    string html_filename2 = Mediachase.UI.Web.Util.CommonHelper.GetHtmlFileTitle(title2);
                    if (html_filename2.IndexOf(".url") < 0)
                    {
                        html_filename2 += ".url";
                    }

                    ToDo.Create(-1, Security.CurrentUser.UserID, "Прочитать про настройку Help Desk", "", DateTime.Now, DateTime.MinValue,
                                int.Parse(PortalConfig.ToDoDefaultValuePriorityField),
                                int.Parse(PortalConfig.ToDoDefaultValueActivationTypeField),
                                int.Parse(PortalConfig.ToDoDefaultValueCompetionTypeField),
                                bool.Parse(PortalConfig.ToDoDefaultValueMustConfirmField),
                                int.Parse(PortalConfig.ToDoDefaultValueTaskTimeField),
                                Common.StringToArrayList(PortalConfig.ToDoDefaultValueGeneralCategoriesField),
                                html_filename2, memStream2, resAdmin, contact_id, org_id);
                }

                DataTable dt = new DataTable();
                dt.Columns.Add(new DataColumn("PrincipalId", typeof(int)));
                dt.Columns.Add(new DataColumn("IsNew", typeof(bool)));
                dt.Columns.Add(new DataColumn("ResponsePending", typeof(bool)));
                dt.Columns.Add(new DataColumn("MustBeConfirmed", typeof(bool)));
                dt.Columns.Add(new DataColumn("CanManage", typeof(bool)));
                foreach (int usId in res)
                {
                    DataRow row = dt.NewRow();
                    row["PrincipalId"]     = usId;
                    row["IsNew"]           = true;
                    row["ResponsePending"] = true;
                    row["MustBeConfirmed"] = false;
                    row["CanManage"]       = (usId == Security.CurrentUser.UserID);
                    dt.Rows.Add(row);
                }

                if (Configuration.HelpDeskEnabled)
                {
                    //5.
                    int IssId = Incident.Create("Демо инцидент", "",
                                                int.Parse(PortalConfig.IncidentDefaultValueTypeField),
                                                int.Parse(PortalConfig.IncidentDefaultValuePriorityField),
                                                int.Parse(PortalConfig.IncidentDefaultValueSeverityField),
                                                Security.CurrentUser.UserID, DateTime.UtcNow);
                    Issue2.UpdateQuickTracking(IssId, "", (int)ObjectStates.Active, -1, -1, true, dt, false);
                }
                //6.
                org_id     = PrimaryKeyId.Empty;
                contact_id = PrimaryKeyId.Empty;
                Common.GetDefaultClient(PortalConfig.CEntryDefaultValueClientField, out contact_id, out org_id);
                CalendarEntry.Create("Демо мероприятие", "", "", -1, Security.CurrentUser.UserID,
                                     int.Parse(PortalConfig.CEntryDefaultValuePriorityField),
                                     (int)CalendarEntry.EventType.Event,
                                     DateTime.Today.AddDays(1).AddHours(10),
                                     DateTime.Today.AddDays(1).AddHours(11),
                                     Mediachase.IBN.Business.Common.StringToArrayList(PortalConfig.CEntryDefaultValueGeneralCategoriesField),
                                     null, null, res, contact_id, org_id);

                //7.
                org_id     = PrimaryKeyId.Empty;
                contact_id = PrimaryKeyId.Empty;
                Common.GetDefaultClient(PortalConfig.DocumentDefaultValueClientField, out contact_id, out org_id);
                int docId = Document.Create(String.Format("Подготовить регламент по работе с {0}", IbnConst.ProductFamilyShort), "", -1,
                                            int.Parse(PortalConfig.DocumentDefaultValuePriorityField), Security.CurrentUser.UserID, 1, int.Parse(PortalConfig.DocumentDefaultValueTaskTimeField),
                                            contact_id, org_id);
                Document2.UpdateResources(docId, dt);
                Document.ActivateDocument(docId);
            }
            #endregion

            PortalConfig.PortalShowAdminWizard = false;
            Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "window.top.location.href='" + ResolveClientUrl("~/Apps/Shell/Pages/default.aspx") + "';", true);
        }
Ejemplo n.º 6
0
        public void WhenCreatingTodoWithoutAName_ThenItThrows()
        {
            TestDelegate act = () => ToDo.Create(null, "hoi", 34, DateTime.UtcNow.AddDays(1), "*****@*****.**");

            Assert.Throws <InvalidTodoException>(act, ToDo.NameNotNullEmptyMessage);
        }