private void gvPO_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { DataRow row = gvPO.GetDataRow(e.RowHandle); if (e.Column == colSupplierCode || e.Column == colSupplierName) { string code = (string)row[e.Column.FieldName]; row[colSupplierCode.FieldName] = code; row[colSupplierName.FieldName] = code; } else if (e.Column == colProjectCode || e.Column == colProjectName) { int projectId = (int)row[e.Column.FieldName]; row[colProjectCode.FieldName] = projectId; row[colProjectName.FieldName] = projectId; row[colBillable.FieldName] = Project.GetProject(projectId)?.Billable ?? false; } if (!gvPO.IsNewItemRow(e.RowHandle)) { if (new GridColumn[] { colPODate, colPONumber, colSupplierCode, colSupplierName, colProjectCode, colProjectName, colBillable }.Contains(e.Column)) { FieldPO.SqlUpdate((int)row[colId.FieldName], (DateTime)row[colPODate.FieldName], Convert.ToString(row[colPONumber.FieldName]), (string)row[colSupplierCode.FieldName], (int)row[colProjectCode.FieldName], (bool)row[colBillable.FieldName]); row[colStatus.FieldName] = Enum.GetName(typeof(EnumSubmitStatus), EnumSubmitStatus.Open); btnSubmit.Enabled = true; } } }
private void SetSubmitStatus(EnumSubmitStatus status) { DataRow row = gvPO.GetFocusedDataRow(); if (row != null && row[colStatus.FieldName] != DBNull.Value && ConvertEx.StringToEnum <EnumSubmitStatus>(row[colStatus.FieldName]) != status) { row[colStatus.FieldName] = Enum.GetName(typeof(EnumSubmitStatus), status); FieldPO.SqlUpdateStatus((int)row[colId.FieldName], status); btnSubmit.Enabled = (status == EnumSubmitStatus.Open); } }
private void gvPO_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e) { if (gvPO.IsNewItemRow(e.RowHandle)) { DataRowView row = e.Row as DataRowView; row[colId.FieldName] = FieldPO.SqlInsert((DateTime)row[colPODate.FieldName], Convert.ToString(row[colPONumber.FieldName]), (string)row[colSupplierCode.FieldName], (int)row[colProjectCode.FieldName], (bool)row[colBillable.FieldName]); btnSubmit.Enabled = (string)row[colStatus.FieldName] == Enum.GetName(typeof(EnumSubmitStatus), EnumSubmitStatus.Open); SetDetailsEnabled(true); } }
private void UpdatePOAmount() { decimal total = 0; for (int i = 0; i < gvDetail.RowCount; i++) { int handle = gvDetail.GetRowHandle(i); total += (decimal)gvDetail.GetRowCellValue(handle, colDetailAmount.FieldName); } DataRow poRow = gvPO.GetFocusedDataRow(); poRow[colPOAmount.FieldName] = total; SetSubmitStatus(EnumSubmitStatus.Open); FieldPO.SqlUpdateAmount((int)poRow[colId.FieldName], total); }
private void gvPO_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { var LoadAttachments = new Action <int>((poId) => { //_fileMgr.ReadOnly = (poId == -1); _fileMgr.DocumentFileLink = new FileLink[] { new FileLink(Attachment.FieldPOId, poId, Company.CurrentId, FileLink.Database.TR, 0, true) }; }); tablePODetail.Clear(); DataRow row = gvPO.GetDataRow(e.FocusedRowHandle); if (row != null && row[colId.FieldName] != DBNull.Value) { FieldPO po = FieldPO.GetFieldPO((int)row[colId.FieldName]); po.GetPODetails(); po.DetailList.ForEach(x => tablePODetail.Rows.Add( x.Id, x.LineNum, x.Description, x.Level1Id, x.Level2Id, x.Level3Id, x.Level4Id, x.Component, x.Billable, x.Amount) ); tablePODetail.AcceptChanges(); LoadAttachments((int)row[colId.FieldName]); btnSubmit.Enabled = (string)row[colStatus.FieldName] == Enum.GetName(typeof(EnumSubmitStatus), EnumSubmitStatus.Open); bool enabled = (string)row[colStatus.FieldName] != Enum.GetName(typeof(EnumSubmitStatus), EnumSubmitStatus.Submitted); SetDetailsEnabled(enabled); } else { LoadAttachments(-1); btnSubmit.Enabled = false; SetDetailsEnabled(false); } }
public void SetData() { SetDetailsEnabled(false); tablePO.Clear(); FieldPO.GetAllPO().ForEach(x => tablePO.Rows.Add( x.Id, x.PODate, Enum.GetName(typeof(EnumSubmitStatus), x.SubmitStatus), x.PONum, x.SupplierCode, x.SupplierCode, x.ProjectId, x.ProjectId, Project.GetProject(x.ProjectId)?.Billable ?? false, x.POAmount) ); tablePO.AcceptChanges(); }
private void gvPO_RowDeleting(object sender, DevExpress.Data.RowDeletingEventArgs e) { DataRow row = gvPO.GetDataRow(e.RowHandle); if ((string)row[colStatus.FieldName] == Enum.GetName(typeof(EnumSubmitStatus), EnumSubmitStatus.Submitted)) { e.Cancel = true; GuiCommon.ShowMessage("Cannot delete a submitted PO."); return; } if (GuiCommon.ShowMessage("Delete Record?", "Confirmation", PopupType.Yes_No) == PopupResult.No) { e.Cancel = true; } else { FieldPO.SqlDelete((int)row[colId.FieldName]); } }
public IHttpActionResult Post(int syncId, [FromBody] FieldPO po) { try { using (SqlConnection sqlcon = new SqlConnection(WebCommon.WebConnection)) { sqlcon.Open(); string sSQL = @"WS_FLEM_POHeader_PostPut"; SqlCommand cmd = new SqlCommand(sSQL, sqlcon); cmd.CommandType = CommandType.StoredProcedure; SqlParameter paraMatchId; SqlParameter paraPONum; cmd.Parameters.Add(new SqlParameter("@SyncId", syncId)); cmd.Parameters.Add(new SqlParameter("@ContactId", po.CreatorId)); cmd.Parameters.Add(new SqlParameter("@CompanyId", po.CompanyId)); cmd.Parameters.Add(paraMatchId = new SqlParameter("@MatchId", po.MatchId) { Direction = ParameterDirection.InputOutput }); cmd.Parameters.Add(paraPONum = new SqlParameter("@PONum", po.PONum) { Direction = ParameterDirection.InputOutput, Size = 20 }); cmd.Parameters.Add(new SqlParameter("@PODate", po.PODate)); cmd.Parameters.Add(new SqlParameter("@SupplierCode", po.SupplierCode)); cmd.Parameters.Add(new SqlParameter("@ProjectId", po.ProjectId)); cmd.ExecuteNonQuery(); string sqlDetail = @"WS_FLEM_PODetail_PostPut"; SqlCommand cmdDetail = new SqlCommand(sqlDetail, sqlcon); cmdDetail.CommandType = CommandType.StoredProcedure; cmdDetail.Parameters.Add(new SqlParameter("@SyncId", syncId)); cmdDetail.Parameters.Add(new SqlParameter("@CompanyId", po.CompanyId)); cmdDetail.Parameters.Add(new SqlParameter("@MatchId", -1) { Direction = ParameterDirection.InputOutput }); cmdDetail.Parameters.Add(new SqlParameter("@HeaderMatchId", paraMatchId.Value)); cmdDetail.Parameters.Add(new SqlParameter("@LineNum", null)); cmdDetail.Parameters.Add(new SqlParameter("@Description", null)); cmdDetail.Parameters.Add(new SqlParameter("@Level1Id", null)); cmdDetail.Parameters.Add(new SqlParameter("@Level2Id", null)); cmdDetail.Parameters.Add(new SqlParameter("@Level3Id", null)); cmdDetail.Parameters.Add(new SqlParameter("@Level4Id", null)); cmdDetail.Parameters.Add(new SqlParameter("@LEMComp", null)); cmdDetail.Parameters.Add(new SqlParameter("@Billable", null)); cmdDetail.Parameters.Add(new SqlParameter("@Amount", null)); foreach (var detail in po.DetailList) { cmdDetail.Parameters["@LineNum"].Value = detail.LineNum; cmdDetail.Parameters["@Description"].Value = detail.Description; cmdDetail.Parameters["@MatchId"].Value = -1; cmdDetail.Parameters["@Level1Id"].Value = (object)detail.Level1Id ?? DBNull.Value; cmdDetail.Parameters["@Level2Id"].Value = (object)detail.Level2Id ?? DBNull.Value; cmdDetail.Parameters["@Level3Id"].Value = (object)detail.Level3Id ?? DBNull.Value; cmdDetail.Parameters["@Level4Id"].Value = (object)detail.Level4Id ?? DBNull.Value; cmdDetail.Parameters["@LEMComp"].Value = (char)detail.Component; cmdDetail.Parameters["@Billable"].Value = detail.Billable; cmdDetail.Parameters["@Amount"].Value = detail.Amount; cmdDetail.ExecuteNonQuery(); } string[] returnData = new string[] { paraMatchId.Value.ToString(), paraPONum.Value.ToString() }; return(Ok(returnData)); } } catch (Exception e) { SqlCommon.ReportInfo(e.Message); return(BadRequest(e.Message)); } }