public void Configure(IUnitOfWork uow, UndeliveredOrder undeliveredOrder, CommentedFields field)
 {
     UoW = uow;
     UndeliveredOrder            = undeliveredOrder;
     Employee                    = _employeeRepository.GetEmployeeForCurrentUser(UoW);
     Field                       = field;
     yTreeComments.ColumnsConfig = ColumnsConfigFactory.Create <UndeliveredOrderCommentsNode>()
                                   .AddColumn("Дата - Имя")
                                   .AddTextRenderer(n => n.UserDateAndName, useMarkup: true)
                                   .AddColumn("Комментарий")
                                   .AddTextRenderer(n => n.MarkedupComment, useMarkup: true)
                                   .WrapWidth(450).WrapMode(Pango.WrapMode.WordChar)
                                   .Finish();
     GetComments();
 }
 public UndeliveredOrderCommentsDlg(IUnitOfWork uow, int id, CommentedFields field, string valueOfField)
 {
     UoW              = uow;
     Field            = field;
     UndeliveredOrder = uow.GetById <UndeliveredOrder>(id);
     Employee         = _employeeRepository.GetEmployeeForCurrentUser(uow);
     if (Employee == null)
     {
         MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику и вы не можете комментировать недовозы, так как некого указывать в качестве автора.");
         FailInitialize = true;
         return;
     }
     this.Build();
     TabName            = "Добавить комментарий";
     lblValOfField.Text = valueOfField;
     ConfigureDlg();
 }
        public IList <UndeliveredOrderCommentsNode> GetCommentNodes(IUnitOfWork uow, UndeliveredOrder undeliveredOrder, CommentedFields field)
        {
            UndeliveredOrderCommentsNode resultAlias            = null;
            UndeliveredOrderComment      undeliveredOrderAllais = null;
            Employee employeeAlias = null;
            bool     clr           = false;

            var nodes = uow.Session.QueryOver <UndeliveredOrderComment>(() => undeliveredOrderAllais)
                        .Where(c => c.UndeliveredOrder.Id == undeliveredOrder.Id)
                        .Where(c => c.CommentedField == field)
                        .JoinAlias(() => undeliveredOrderAllais.Employee, () => employeeAlias)
                        .SelectList(
                list => list
                .Select(() => undeliveredOrderAllais.Comment).WithAlias(() => resultAlias.Comment)
                .Select(() => undeliveredOrderAllais.CommentDate).WithAlias(() => resultAlias.Date)
                .Select(() => employeeAlias.Name).WithAlias(() => resultAlias.FName)
                .Select(() => employeeAlias.Patronymic).WithAlias(() => resultAlias.MName)
                .Select(() => employeeAlias.LastName).WithAlias(() => resultAlias.LName)
                )
                        .OrderBy(i => i.CommentDate).Desc
                        .TransformUsing(Transformers.AliasToBean <UndeliveredOrderCommentsNode>())
                        .List <UndeliveredOrderCommentsNode>();

            foreach (var node in nodes)
            {
                node.Color = clr ? "red" : "blue";
                clr        = !clr;
            }

            return(nodes);
        }
 public IList <UndeliveredOrderComment> GetComments(IUnitOfWork uow, UndeliveredOrder undeliveredOrder, CommentedFields field)
 {
     return(uow.Session.QueryOver <UndeliveredOrderComment>()
            .Where(c => c.UndeliveredOrder.Id == undeliveredOrder.Id)
            .Where(c => c.CommentedField == field)
            .List <UndeliveredOrderComment>());
 }