private void lblError_Click(object sender, EventArgs e) { FrmHelp frmHelp = new FrmHelp(); ((TextBox)frmHelp.Controls["txtHelp"]).Text = ufld.HelpErrorRecord.Replace("\n", Environment.NewLine); frmHelp.ShowDialog(); }
private void btnSend_Click(object sender, EventArgs e) { string value = string.Empty; string type = string.Empty; string nullvalue = string.Empty; int error_count = 0; int error_fields_count = 0; int duplicate_count = 0; int total = 0; lblReference.Visible = false; lblError.Visible = false; lblDuplicate.Visible = false; lblFieldsError.Visible = false; btnSelect.Enabled = false; btnHelp.Enabled = false; btnSend.Enabled = false; btnClose.Enabled = false; lblStatus.Text = "Wait a moment"; lblStatus.Update(); this.Cursor = System.Windows.Forms.Cursors.WaitCursor; if (rowid_witherrors.Count > 0) { if (rowid_witherrors.Count == dgView.Rows.Count) { for (int x = 0; x < dgView.Rows.Count; x++) { for (int y = 0; y < dgView.Rows[x].Cells.Count; y++) { dgView.Rows[x].Cells[y].Style.BackColor = Constant.CLR_CELL_DEFAULT; dgView.Rows[x].Cells[y].ToolTipText = string.Empty; } } } else { for (int x = 0; x < dgView.Rows.Count; x++) { foreach (int id in rowid_witherrors) { if ((int)dgView.Rows[x].Cells[0].Tag == id) { for (int y = 0; y < dgView.Rows[x].Cells.Count; y++) { dgView.Rows[x].Cells[y].Style.BackColor = Constant.CLR_CELL_DEFAULT; dgView.Rows[x].Cells[y].ToolTipText = string.Empty; } break; } } } } rowid_witherrors.RemoveAll(clearAll); dgView.Update(); } try { for (int k = 0; k < dgView.Rows.Count; k++) { try { ArrayAssociative values = new ArrayAssociative(); for (int o = 0; o < fld.Count; o++) { type = fld[o].FieldType.ToLower().Trim(); nullvalue = fld[o].FieldNullValue.Trim(); if (type == "int") { values[fld[o].FieldName] = (nullvalue == string.Empty) ? "0" : nullvalue; } else if (type == "bool") { if (nullvalue == string.Empty) { values[fld[o].FieldName] = false; } else { values[fld[o].FieldName] = (nullvalue.ToUpper() == "YES"); } } else if (type == "datetime") { values[fld[o].FieldName] = (nullvalue == string.Empty) ? "01/01/1800" : nullvalue; } else { values[fld[o].FieldName] = nullvalue; } } for (int j = 0; j < dgView.Rows[k].Cells.Count; j++) { value = ((string)dgView.Rows[k].Cells[j].Value).Trim(); type = fld[(int)index_fld[dgView.Columns[j].Name]].FieldType.ToLower().Trim(); if (value != string.Empty) { if (type == "bool") { values[dgView.Columns[j].Name] = (value.ToUpper() == "YES"); } else { values[dgView.Columns[j].Name] = value; } } } if (!validate_fields(dgView.Rows[k].Index, ref total)) { error_fields_count += total; throw new System.ArgumentException(Constant.MSG_ERROR_FIELD_ITEM); } int retval = 1; //ImportClient emp = new ImportClient(); //Here, you can create an object and call a method of your Web Service /*int retval = emp.AddEmployee( Convert.ToBoolean(values["Active"]) , (string)values["AddressNumber"] , (string)values["LastName"] , (string)values["Neighborhood"] , (string)values["PositionHeld"] , (string)values["Category"] , (string)values["City"] , (string)values["PostalCode"] , (string)values["Company"] , (string)values["CUIL"] , (string)values["Area"] , (string)values["ApartmentOrUF"] , (string)values["Address"] , Convert.ToInt32(values["Age"]) , (string)values["PersonalEmail"] , (string)values["MaritalStatus"] , Utils.ToDate((string)values["AdmissionDate"], ufld.DateFormat) , Utils.ToDate((string)values["DateOfBirth"], ufld.DateFormat) , (string)values["WorkShift"] , (string)values["FileNumber"] , (string)values["PlaceOfBirth"] , (string)values["Nationality"] , (string)values["FirstName"] , (string)values["IdentificationNumber"] , (string)values["Country"] , (string)values["Floor"] , (string)values["StateOrProvince"] , (string)values["Gender"] , (string)values["JobStatus"] , (string)values["Branch"] , (string)values["MobilePhone"] , (string)values["EmergencyPhone"] , (string)values["HomePhone"] , (string)values["IdentificationType"] );*/ if (retval == 0) { throw new System.ArgumentException(Constant.MSG_ERROR_SEND_ITEM); } else if (retval == -1) { throw new System.ArgumentException(Constant.MSG_ERROR_DUPLICATE_ITEM); } } catch (Exception ex) { Color bg = Constant.CLR_ERROR_RECORDS; if (ex.Message == Constant.MSG_ERROR_DUPLICATE_ITEM) { bg = Constant.CLR_DUPLICATE_RECORDS; duplicate_count++; } else { error_count++; } for (int x = 0; x < dgView.Rows[k].Cells.Count; x++) { if (dgView.Rows[k].Cells[x].Style.BackColor != Constant.CLR_ERROR_FIELDS) { dgView.Rows[k].Cells[x].Style.BackColor = bg; } } rowid_witherrors.Add((int)dgView.Rows[k].Cells[0].Tag); } } int q = dgView.Rows.Count; for (int x = 0; x < q; x++) { bool deleterow = true; foreach (int id in rowid_witherrors) { if ((int)dgView.Rows[x].Cells[0].Tag == id) { deleterow = false; break; } } if (deleterow) { dgView.Rows.RemoveAt(x); x--; q--; } } if (rowid_witherrors.Count > 0) { lblError.Text = Constant.LBL_ERROR_RECORDS.Replace("TOTAL", error_count.ToString()); lblDuplicate.Text = Constant.LBL_DUPLICATE_RECORDS.Replace("TOTAL", duplicate_count.ToString()); lblFieldsError.Text = Constant.LBL_ERROR_FIELDS.Replace("TOTAL", error_fields_count.ToString()); lblReference.Visible = true; lblError.Visible = true; lblDuplicate.Visible = true; lblFieldsError.Visible = true; MessageBox.Show(ufld.M_ErrorSend.Replace("\n", Environment.NewLine), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); FrmHelp frmHelp = new FrmHelp(); ((TextBox)frmHelp.Controls["txtHelp"]).Text = ufld.Help.Replace("\n", Environment.NewLine); frmHelp.ShowDialog(); } else { MessageBox.Show(ufld.M_OkaySend.Replace("\n", Environment.NewLine), "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show("Error: An error occurred when it tried to save the grid's records into the system. \n\nOriginal Error: \n" + ex.Message + " \n" + ex.Source, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btnSelect.Enabled = true; btnHelp.Enabled = true; btnSend.Enabled = true; btnClose.Enabled = true; lblStatus.Text = "Import finished"; lblStatus.Update(); this.Cursor = System.Windows.Forms.Cursors.Default; } }