コード例 #1
0
        private void detailView1_RowDeleting(object sender, DevExpress.Data.RowDeletingEventArgs e)
        {
            var MessageBoxResult = MessageBox.Show("是否删除该选项", "是否删除该选项", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (MessageBoxResult == DialogResult.Yes)
            {
                GridView detailView = sender as GridView;
                PurchaseApplicationViewModel row = (PurchaseApplicationViewModel)detailView.GetFocusedRow();
                if (row.ProcessStatus > ProcessStatusEnum.申请审核中)
                {
                    MessageBox.Show("该状态下无法删除");
                    e.Cancel = true;
                    return;
                }
                var result = _purchaseService.DeleteApplication(row);
                if (!result)
                {
                    MessageBox.Show("此申请下已经生成采购单, 无法删除");
                    e.Cancel = true;
                    return;
                }
            }
            else if (MessageBoxResult != DialogResult.No)
            {
                e.Cancel = true;
                return;
            }
        }
コード例 #2
0
        private void detailView1_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e)
        {
            var detailView = sender as GridView;
            PurchaseApplicationViewModel row = detailView.GetFocusedRow() as PurchaseApplicationViewModel;

            _purchaseService.UpdateApplication(row);
        }
コード例 #3
0
        public bool UpdateApplication(PurchaseApplicationViewModel model)
        {
            var purchaseApplicationUpdate = _purchaseApplicationRepository.GetAll().FirstOrDefault(x => x.PurchaseApplicationId == model.PurchaseApplicationId);

            if (purchaseApplicationUpdate == null)
            {
                return(false);
            }
            purchaseApplicationUpdate.SerialNumber   = model.SerialNumber;
            purchaseApplicationUpdate.TotalConfirmed = model.TotalConfirmed;
            purchaseApplicationUpdate.AuditStatus    = model.AuditStatus;
            purchaseApplicationUpdate.Note           = model.Note;
            purchaseApplicationUpdate.SupplierId     = model.SupplierName;
            purchaseApplicationUpdate.ProcessStatus  = model.ProcessStatus;
            purchaseApplicationUpdate.UpdateDate     = DateTime.Now;
            if (model.RequestCategory == RequestCategoriesEnum.采购退货)
            {
                purchaseApplicationUpdate.SelectedPurchaseNumber = model.SelectedPurchaseNumber;
                purchaseApplicationUpdate.SupplierId             = model.SupplierName;
                purchaseApplicationUpdate.SelectedPONumber       = model.PoNumber;
                purchaseApplicationUpdate.CurrentPurchasePrice   = model.CurrentPurchasePrice;
            }

            try
            {
                _purchaseApplicationRepository.Edit(purchaseApplicationUpdate);
                _purchaseApplicationRepository.Save();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
コード例 #4
0
 private void repositoryItemButtonEdit1_ButtonClick(object sender, ButtonPressedEventArgs e)
 {
     if (MessageBox.Show("确定拷贝", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
     {
         return;
     }
     else
     {
         var view = gridControl1.FocusedView as GridView;
         PurchaseApplicationViewModel row = (PurchaseApplicationViewModel)view.GetFocusedRow();
         //int rowindex = this.gridView1.FocusedRowHandle;
         //var row = (PurchaseApplicationViewModel)this.gridView1.GetRow(rowindex);
         _purchaseService.CopyApplication(row);
         RefreshData(true);
     }
 }
コード例 #5
0
        private void RepositoryItemLookUpEdit1_EditValueChanged(object sender, EventArgs e)
        {
            LookUpEdit                   edit      = sender as LookUpEdit;
            GridView                     gridView  = sender as GridView;
            object                       editValue = edit.EditValue;
            int                          index     = edit.Properties.GetDataSourceRowIndex(edit.Properties.ValueMember, editValue);
            PurchaseViewModel            row       = (PurchaseViewModel)edit.Properties.GetDataSourceRowByKeyValue(editValue);
            PurchaseApplicationViewModel rowPurchaseApplication = (PurchaseApplicationViewModel)gridView.GetFocusedRow();

            rowPurchaseApplication.SelectedPurchaseNumber = row.PurchaseNumber;
            rowPurchaseApplication.PoNumber             = row.PoNumber;
            rowPurchaseApplication.SupplierName         = row.SupplierCode;
            rowPurchaseApplication.CurrentPurchasePrice = row.Price;
            //PurchaseApplicationViewModel rowView = (PurchaseApplicationViewModel)edit.GetSelectedDataRow();
            //DataRow row1 = rowView.Row;
            //_requestService.UpdateRequest(row);
        }
コード例 #6
0
        public void CopyApplication(PurchaseApplicationViewModel model)
        {
            var existingPurchaseApplication = _purchaseApplicationRepository.GetAll().FirstOrDefault(x => x.PurchaseApplicationId == model.PurchaseApplicationId);
            var purchaseApplicationCopy     = _mapper.Map <PurchaseApplication>(model);

            purchaseApplicationCopy.PurchaseApplicationId = Guid.NewGuid();
            if (existingPurchaseApplication != null)
            {
                purchaseApplicationCopy.PurchaseApplicationNumber = existingPurchaseApplication.PurchaseApplicationNumber;
                purchaseApplicationCopy.SupplierId = existingPurchaseApplication.SupplierId;
            }

            purchaseApplicationCopy.TotalConfirmed = 0;
            purchaseApplicationCopy.AuditStatus    = AuditStatusEnum.未审批;
            purchaseApplicationCopy.ProcessStatus  = ProcessStatusEnum.申请审核中;
            _purchaseApplicationRepository.Add(purchaseApplicationCopy);
            _purchaseApplicationRepository.Save();
        }
コード例 #7
0
        public bool DeleteApplication(PurchaseApplicationViewModel model)
        {
            var purchaseApplicationToDelete = _purchaseApplicationRepository.FindBy(x => x.PurchaseApplicationId == model.PurchaseApplicationId).FirstOrDefault();
            var isExistingPurchase          = _purchaseRepository.FindBy(x => x.PurchaseApplicationId == purchaseApplicationToDelete.PurchaseApplicationId).FirstOrDefault();

            if (isExistingPurchase != null)
            {
                return(false);
            }
            _purchaseApplicationRepository.Delete(purchaseApplicationToDelete);
            _purchaseApplicationRepository.Save();
            if (purchaseApplicationToDelete != null)
            {
                _requestService.UpdateRequestProcessStatus(purchaseApplicationToDelete.RequestId,
                                                           ProcessStatusEnum.需求建立);
            }
            return(true);
        }
コード例 #8
0
        protected override void detailView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
        {
            GridView currentView = sender as GridView;

            if (e.Column.FieldName == nameof(childModel.SelectedPurchaseNumber))
            {
                Enum.TryParse(currentView.GetRowCellValue(e.RowHandle, nameof(parentModel.AuditStatus)).ToString(), out AuditStatusEnum auditStatus);

                if (auditStatus == AuditStatusEnum.未审批)
                {
                    PurchaseApplicationViewModel model           = (PurchaseApplicationViewModel)currentView.GetRow(e.RowHandle);
                    RepositoryItemLookUpEdit     purchaseRepItem = new RepositoryItemLookUpEdit();
                    purchaseRepItem.Name          = "DropDownForPurchaseNumber";
                    purchaseRepItem.NullText      = "";
                    purchaseRepItem.ValueMember   = nameof(PurchaseModel.PurchaseNumber);
                    purchaseRepItem.DisplayMember = nameof(PurchaseModel.PurchaseNumber);
                    purchaseRepItem.DataSource    = listOfPurchaseViewModels.Where(x => x.Code == model.Code);
                    purchaseRepItem.PopulateColumns();
                    purchaseRepItem.PopupWidth = 500;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.PurchaseId)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.RequestId)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.ApplicationNumber)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.PoNumber)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Category)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Name)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Code)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Brand)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Model)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Specification)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Dimension)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Unit)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.DefaultPrice)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Price)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.TotalPrice)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.ReadyForInStock)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Status)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.IsDeleted)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.AlreadyInStock)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Position)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.Note)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.DeliveryDate)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.UpdateDate)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.IsPriceChange)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.ItemId)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.LastDeliveryDate)].Visible = false;
                    //purchaseRepItem.Columns[nameof(PurchaseModel.CorrectionTotal)].Visible = false;

                    //gridControl1.RepositoryItems.Add(positionRepItem);
                    e.RepositoryItem = purchaseRepItem;
                    purchaseRepItem.EditValueChanged -= RepositoryItemLookUpEdit1_EditValueChanged;
                    purchaseRepItem.EditValueChanged += RepositoryItemLookUpEdit1_EditValueChanged;

                    RenderCommonHelper.SetColEditable(e.Column);
                }
                else if (auditStatus == AuditStatusEnum.已审批)
                {
                    RenderCommonHelper.SetColNotEditable(e.Column);
                }
            }
            if (e.Column.FieldName == nameof(parentModel.TotalConfirmed))
            {
                Enum.TryParse(currentView.GetRowCellValue(e.RowHandle, nameof(parentModel.AuditStatus)).ToString(), out AuditStatusEnum auditStatus);
                if (auditStatus == AuditStatusEnum.已审批)
                {
                    RenderCommonHelper.SetColNotEditable(e.Column);
                }
                if (auditStatus == AuditStatusEnum.未审批)
                {
                    RenderCommonHelper.SetColEditable(e.Column);
                }
            }

            if (e.Column.FieldName == nameof(parentModel.AuditStatus))
            {
                Enum.TryParse(currentView.GetRowCellValue(e.RowHandle, nameof(childModel.ProcessStatus)).ToString(), out ProcessStatusEnum processStatus);
                if (processStatus == ProcessStatusEnum.申请审核中)
                {
                    RenderCommonHelper.SetColEditable(e.Column);
                }
                if (processStatus != ProcessStatusEnum.申请审核中)
                {
                    RenderCommonHelper.SetColNotEditable(e.Column);
                }
            }
        }