示例#1
0
        /// <summary>
        /// Заполнение списка видов заявок
        /// </summary>
        private void FillNewRequestItems()
        {
            if (NewRequestAction.Items.Count() > 0)
            {
                return;
            }

            NewRequestAction.Items.Clear();

            SuperRequest     paymentSuperRequestFinItem = new SuperRequest(typeof(fmCPRPaymentRequestFinOrder), -1);
            ChoiceActionItem paymentRequestFinItem      = new ChoiceActionItem("1", "Финансовая заявка", paymentSuperRequestFinItem); //typeof(fmCPRPaymentRequestFinOrder));

            NewRequestAction.Items.Add(paymentRequestFinItem);

            //MemberInfo[] memberInfos = typeof(FinRequestKind).GetMembers(BindingFlags.Public | BindingFlags.Static);
            //for (int i = 0; i < memberInfos.Length; i++) {
            //    //ddProperty.Items.Add(new ListItem(memberInfos[i].Name, memberInfos[i].GetType().Name));
            //    ChoiceActionItem paymentRequestFinEnumItem = new ChoiceActionItem("1." + i.ToString(), "   - " + memberInfos[i].GetType().Name, typeof(fmCPRPaymentRequestFinOrder));
            //    NewRequestAction.Items.Add(paymentRequestFinEnumItem);
            //}

            IModelLocalizationItemBase node = View.Model.Application.Localization["Enums"]["IntecoAG.ERM.FM.PaymentRequest.FinRequestKind"];

            if (node != null)
            {
                for (int i = 0; i < node.NodeCount; i++)
                {
                    string           name     = node.GetNode(i).GetValue <string>("Name");
                    string           value    = node.GetNode(i).GetValue <string>("Value");
                    FinRequestKind   enumItem = (FinRequestKind)Enum.Parse(typeof(FinRequestKind), name);
                    int              index    = (int)enumItem;
                    SuperRequest     paymentSuperRequestFinEnumItem = new SuperRequest(typeof(fmCPRPaymentRequestFinOrder), index);
                    ChoiceActionItem paymentRequestFinEnumItem      = new ChoiceActionItem("1." + (i + 1).ToString(), "   -  " + value, paymentSuperRequestFinEnumItem); //typeof(fmCPRPaymentRequestFinOrder));
                    NewRequestAction.Items.Add(paymentRequestFinEnumItem);
                }
            }

            SuperRequest     objRequesContractItem     = new SuperRequest(typeof(fmCPRPaymentRequestContract), -1);
            ChoiceActionItem paymentRequesContractItem = new ChoiceActionItem("2", "Заявка на оплату по договору", objRequesContractItem);   //typeof(fmCPRPaymentRequestContract));

            NewRequestAction.Items.Add(paymentRequesContractItem);

            SuperRequest     objRequestSingleItem        = new SuperRequest(typeof(fmCPRPaymentRequestSingle), -1);
            ChoiceActionItem akkreditivRequestSingleItem = new ChoiceActionItem("3", "Заявка на оплату по разовому счету", objRequestSingleItem);   //typeof(fmCPRPaymentRequestSingle));

            NewRequestAction.Items.Add(akkreditivRequestSingleItem);

            SuperRequest     objRequestMemorandumItem = new SuperRequest(typeof(fmPaymentRequestMemorandum), -1);
            ChoiceActionItem budgetRequestItem        = new ChoiceActionItem("4", "Служебная записка на оплату", objRequestMemorandumItem); //typeof(fmPaymentRequestMemorandum));

            NewRequestAction.Items.Add(budgetRequestItem);
        }
示例#2
0
        /// <summary>
        /// Создать заявку выбранного типа и показать в модальном окне
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void NewRequestAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            if (e.SelectedChoiceActionItem != null)
            {
                // Вариант с явным показом заявки в модальном окне (пользователь вручную дорабатывает её)
                IObjectSpace workOS = ObjectSpace.CreateNestedObjectSpace();
                //IObjectSpace workOS = ObjectSpace;

                //fmCPRPaymentRequest request = CreateRequest(e.SelectedChoiceActionItem.Data as SuperRequest, workOS);
                SuperRequest        superRequest = e.SelectedChoiceActionItem.Data as SuperRequest;
                fmCPRPaymentRequest request      = fmCPRPaymentRequestBusinesLogic.CreateRequest(workOS, View.CurrentObject as fmCPRRepaymentTask, superRequest.RequestType as Type, GetFinRequestKindByIndex(superRequest.RequestKind));

                Boolean byFin = false;
                if (request.State == PaymentRequestStates.FINANCE_PAYMENT)
                {
                    byFin = true;
                }

                if (request != null)
                {
                    // Привязка
                    BindRequest(request, workOS);
                }

                if (byFin)
                {
                    request.State = PaymentRequestStates.FINANCE_PAYMENT;
                }

                // Показать картинку
                ShowRequest(workOS, request, e.ShowViewParameters);   //, workOS);

                // Сброс выбора в списке
                NewRequestAction.SelectedItem = null;

                // Не обновляется форма в Root после сохранения вложенного ObjectSpace и заявки нет в списке всех заявок
            }
        }