Esempio n. 1
0
        public void Show(uint id, [SmartBinder(Expect = "filter.Types")] MessageQuery filter)
        {
            var supplier = DbSession.Load <Supplier>(id);

            PropertyBag["supplier"] = supplier;
            PropertyBag["users"]    = supplier.Users;

            PropertyBag["contactGroups"] = supplier.ContactGroupOwner.ContactGroups.OrderBy(s => s.Type == ContactGroupType.General ? 0 : 1);
            PropertyBag["usersInfo"]     = ADHelper.GetPartialUsersInformation(supplier.Users);

            PropertyBag["CallLogs"] = UnresolvedCall.LastCalls;
            PropertyBag["CiUrl"]    = Properties.Settings.Default.ClientInterfaceUrl + "auth/logon.aspx";

            PropertyBag["filter"]   = filter;
            PropertyBag["messages"] = filter.Execute(supplier, DbSession);

            Sort.Make(this);
            if (IsPost)
            {
                BindObjectInstance(supplier, "supplier");
                if (IsValid(supplier))
                {
                    DbSession.Save(supplier);
                    Notify("Сохранено");
                    RedirectToReferrer();
                }
            }
        }
Esempio n. 2
0
        public void Log_payer_with_payer_audit_record()
        {
            Create_payer_message();
            var messageQuery = new MessageQuery();

            messageQuery.Types.Add(LogMessageType.Payer);
            var logs = messageQuery.Execute(_client, session);

            var log = logs.FirstOrDefault(m => m.Message.Contains("test_Payer_Audit_Record"));

            Assert.That(log, Is.Not.Null, logs.Implode());

            messageQuery.Types.Remove(LogMessageType.Payer);

            logs = messageQuery.Execute(_client, session);

            log = logs.FirstOrDefault(m => m.Message.Contains("test_Payer_Audit_Record"));
            Assert.That(log, Is.Null, logs.Implode());
        }
Esempio n. 3
0
        public void LogUserNoBilling()
        {
            var record = new AuditRecord("testUserAuditRecord", _client.Users.First());

            session.Save(record);
            Flush();
            var messageQuery = new MessageQuery();
            var logs         = messageQuery.Execute(_client.Users.First(), session);
            var log          = logs.FirstOrDefault(m => m.Message.Contains("testUserAuditRecord"));

            Assert.That(log, Is.Not.Null, logs.Implode());
        }
Esempio n. 4
0
        public void LogUserWithShowOnlyPayer()
        {
            var payer = _client.Payers.First();

            var logRecord = new PayerAuditRecord(payer, "$$$testPayerAuditRecordUser");

            logRecord.ObjectType    = LogObjectType.User;
            logRecord.ObjectId      = _client.Users.First().Id;
            logRecord.ShowOnlyPayer = true;
            session.Save(logRecord);
            Flush();
            var messageQuery = new MessageQuery();

            messageQuery.Types.Add(LogMessageType.Payer);
            var logs = messageQuery.Execute(_client.Users.First(), session);
            var log  = logs.FirstOrDefault(m => m.Message.Contains("testPayerAuditRecordUser"));

            Assert.That(log, Is.Null, logs.Implode());
            logs = messageQuery.Execute(_client, session);
            log  = logs.FirstOrDefault(m => m.Message.Contains("testPayerAuditRecordUser"));
            Assert.That(log, Is.Not.Null, logs.Implode());
        }
        public void Show(uint id, [SmartBinder(Expect = "filter.Types")] MessageQuery filter)
        {
            var client    = Service.FindAndCheck <Client>(id);
            var users     = client.Users;
            var addresses = client.Addresses;

            PropertyBag["Client"]        = client;
            PropertyBag["ContactGroups"] = client.ContactGroupOwner.ContactGroups;
            PropertyBag["users"]         = users.OrderBy(user => user.Id).ToList();
            PropertyBag["addresses"]     = addresses.OrderBy(a => a.LegalEntity.Name).ThenBy(a => a.Name).ToList();

            PropertyBag["usersInfo"] = ADHelper.GetPartialUsersInformation(users);

            PropertyBag["filter"]   = filter;
            PropertyBag["messages"] = filter.Execute(client, DbSession);

            Sort.Make(this);
        }
        public void Update([ARDataBind("client", AutoLoad = AutoLoadBehavior.Always)] Client client)
        {
            Admin.CheckClientPermission(client);
            var changeName = client.IsChanged(c => c.Name);

            if (!Validator.IsValid(client))
            {
                var users     = client.Users;
                var addresses = client.Addresses;
                PropertyBag["Client"]        = client;
                PropertyBag["ContactGroups"] = client.ContactGroupOwner.ContactGroups;
                PropertyBag["users"]         = users.OrderBy(user => user.Id).ToList();
                PropertyBag["addresses"]     = addresses.OrderBy(a => a.LegalEntity.Name).ThenBy(a => a.Name).ToList();

                PropertyBag["usersInfo"] = ADHelper.GetPartialUsersInformation(users);
                var filter = new MessageQuery();
                BindObjectInstance(filter, "filter");
                PropertyBag["filter"]   = filter;
                PropertyBag["messages"] = filter.Execute(client, DbSession);
                RenderView("Show");
                return;
            }
            var savedNotify    = true;
            var changeFullName = client.IsChanged(c => c.FullName);

            if (changeFullName || changeName)
            {
                var legalEntityes = client.GetLegalEntity();
                if (legalEntityes.Count == 1)
                {
                    var legalEntity = legalEntityes.First();
                    if (changeName)
                    {
                        legalEntity.Name = client.Name;
                    }
                    if (changeFullName)
                    {
                        legalEntity.FullName = client.FullName;
                    }
                    DbSession.Save(legalEntity);
                }
                else
                {
                    var changePartMessage = string.Empty;
                    if (changeName)
                    {
                        changePartMessage += "краткое";
                    }
                    if (changeFullName)
                    {
                        changePartMessage += "полное";
                    }
                    Notify(string.Format("Вы изменили {0} наименование клиента. У клиента более одного юр. лица, переименование юр. лиц не было произведено.", changePartMessage));
                    savedNotify = false;
                }
            }
            DbSession.SaveOrUpdate(client);
            if (savedNotify)
            {
                Notify("Сохранено");
            }
            RedirectToAction("Show", new Dictionary <string, string> {
                { "id", client.Id.ToString() }
            });
        }
Esempio n. 7
0
        public virtual IList <AuditRecord> GetAuditRecord(ISession session, MessageQuery query)
        {
            var userMessages = query.Execute(this, session);

            return(userMessages.OrderByDescending(o => o.WriteTime).ToList());
        }