1. validation
private void ValidateExistingHeaderCounter() { try { if (this.CheckExistingHeaderCounter() == false && AddFlag.Text =="Add") { this.InsertTransferStockHeader(); this.ValidateExistingRMDTLCounter(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
2. Data Access
public Boolean CheckRecordCouningHeader(string TransCode) { string MemoCode; using (SqlConnection connection = DBCon.GetDbCon()) { SqlCommand dCmd = new SqlCommand("CheckExistingISNORawMats", connection); dCmd.CommandType = CommandType.StoredProcedure; dCmd.Parameters.Add("@ISNO", SqlDbType.VarChar, 50).Value = TransCode; connection.Open(); try { using (SqlDataReader reader = dCmd.ExecuteReader()) { if (reader != null && reader.Read()) { if (reader.Read()) { MemoCode = (String)System.Convert.ToString(reader["ISNo"]); reader.Close(); reader.Dispose(); } return true; } else { if (reader != null) { reader.Close(); reader.Dispose(); } return false; } } } catch (Exception ex) { throw ex; } finally { connection.Close(); connection.Dispose(); connection.Dispose(); } } }
3. Record Counting
private void rrRecordCountingRAWMATSIS() { try { String Control = "RMIS-0000"; int recCount = 0; RawMaterialsDA reccount = new RawMaterialsDA(); recCount = reccount.AutoCountIssuanceSlip(); recCount = recCount + 1; ISno.Text = Control + recCount; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }
4. Inserting Reccord
private void InsertTransferStockHeader() { try { int SupIdno; RawMaterialsDM supint = new RawMaterialsDM(); RawMaterialsBR prd = new RawMaterialsBR(); supint.ISno = Convert.ToString(ISno.Text); supint.ISDate = Convert.ToDateTime(ISDate.Text); supint.JobOrderNo = Convert.ToString(JobOrderNo.Text); supint.PRNo = Convert.ToString(PRNo.Text); supint.ChargeToID = Convert.ToString(ChargeToID.Text); supint.ChargeToName = Convert.ToString(ChargeToName.Text); supint.OriginID = Convert.ToString(OriginID.Text); supint.OringinName = Convert.ToString(OringinName.Text); supint.Particular = Convert.ToString(Particular.Text); supint.Checkedby = Convert.ToString(Checkedby.Text); supint.IssuedBy = Convert.ToString(Preparedby.Text); supint.TotalAmount = Convert.ToDecimal(TotalAmount.Text); supint.Status = Convert.ToString(Status.Text); SupIdno = prd.RamMatsIssuanceSlipBR(supint); } catch (Exception ex) { ex.Message.ToString(); } }
5. Business Roles
public int RamMatsIssuanceSlipBR(RawMaterialsDM supint) { RawMaterialsDA mansr = new RawMaterialsDA(); try { return mansr.InsertRawMaterialsDA(supint); } catch (Exception ex) { throw ex; } finally { supint = null; } }
6. Adding Records
public int InsertRawMaterialsDA(RawMaterialsDM dtir) { using (SqlConnection SqlCn = DBCon.GetDbCon()) { SqlCommand dCmd = new SqlCommand("InsertRMIssuanceSlipHdr", SqlCn); dCmd.CommandType = CommandType.StoredProcedure; SqlCn.Open(); try { dCmd.Parameters.AddWithValue("@ISno", Convert.ToString(dtir.ISno)); dCmd.Parameters.AddWithValue("@ISDate", Convert.ToDateTime(dtir.ISDate)); dCmd.Parameters.AddWithValue("@JobOrderNo", Convert.ToString(dtir.JobOrderNo)); dCmd.Parameters.AddWithValue("@PRNo", Convert.ToString(dtir.PRNo)); dCmd.Parameters.AddWithValue("@ChargeToID", Convert.ToString(dtir.ChargeToID)); dCmd.Parameters.AddWithValue("@ChargeToName", Convert.ToString(dtir.ChargeToName)); dCmd.Parameters.AddWithValue("@OriginID", Convert.ToString(dtir.OriginID)); dCmd.Parameters.AddWithValue("@OringinName", Convert.ToString(dtir.OringinName)); dCmd.Parameters.AddWithValue("@Particular", Convert.ToString(dtir.Particular)); dCmd.Parameters.AddWithValue("@Checkedby", Convert.ToString(dtir.Checkedby)); dCmd.Parameters.AddWithValue("@IssuedBy", Convert.ToString(dtir.IssuedBy)); dCmd.Parameters.AddWithValue("@TotalAmount", Convert.ToDecimal(dtir.TotalAmount)); dCmd.Parameters.AddWithValue("@Status", Convert.ToString(dtir.Status)); return dCmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { dCmd.Dispose(); SqlCn.Close(); SqlCn.Dispose(); } } }
My Sample SP
USE [HwlScm] GO /****** Object: StoredProcedure [dbo].[CheckExistingISNORawMats] Script Date: 7/15/2023 2:41:30 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[CheckExistingISNORawMats] @ISNO varchar(50) AS BEGIN SET NOCOUNT ON; DECLARE @trancount int SET @trancount = @@TRANCOUNT; BEGIN TRY IF @trancount =0 BEGIN TRANSACTION SELECT ISNo from [dbo].[RMIssuanceSlipHdr] WHERE ISNo =@ISNO lbexit: IF @trancount = 0 COMMIT END TRY BEGIN CATCH DECLARE @error int, @message varchar(4000), @xstate int; SELECT @error = ERROR_NUMBER(), @message = ERROR_MESSAGE(), @xstate = XACT_STATE(); IF @xstate = -1 ROLLBACK; IF @xstate = 1 AND @trancount = 0 ROLLBACK IF @xstate = 1 AND @trancount > 0 ROLLBACK TRANSACTION CheckExistingISNORawMats; RAISERROR('CheckExistingISNORawMats : %d: %s', 32, 1, @error, @message); END CATCH END
Database Con
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Configuration; using System.Data; using System.Data.SqlClient; namespace Supply.Data.Access { public class DBCon { public static SqlConnection GetDbCon() { try { SqlConnection con = new SqlConnection(); con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CiiDiErp"].ConnectionString; return con; } catch (Exception) { throw; } } } }
<connectionStrings> <add name="CiiDiErp" connectionString="Data Source=;Initial Catalog=HwlScm;TrustServerCertificate=True;User ID=sa; Password=;Integrated Security=false"/> </connectionStrings>
Login
public static List<UserModel> DisplayCurrentUsers(string username, string password) { using (SqlConnection SqlCn = dbCon.GetDbCon()) { SqlCommand cmd = new SqlCommand("GetAvailableUser", SqlCn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 50).Value = username; cmd.Parameters.Add("@Password", SqlDbType.VarChar, 50).Value = password; SqlCn.Open(); List<UserModel> csd = new List<UserModel>(); try { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { UserModel grdcsd = new UserModel(); grdcsd.FullName = (String)System.Convert.ToString(reader["FullName"]); grdcsd.DeptCode = (String)System.Convert.ToString(reader["DeptCode"]); grdcsd.DepartmentNamr = (String)System.Convert.ToString(reader["Department"]); csd.Add(grdcsd); } reader.Close(); return csd; } } catch(Exception) { throw; } finally { SqlCn.Close(); } } }
Checking
private void PerformGetUserInfomation() { string Usrname = Convert.ToString(txtUserName.Text); string PassWord = Convert.ToString(txtPassWord.Text); string eStr = SharedFunctionLib.Encrypt(PassWord); List<UserModel> mysr = new List<UserModel>(); try { mysr = UserDA.DisplayCurrentUsers(Usrname, eStr); mysr.ToList(); if (mysr.Count == 0) { result = MessageBox.Show("Username and password doesn't match in the database..." + "\n" + "\n" + "\nDo you want to continue this transaction?", "Error Message", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); if (result == DialogResult.Yes) { txtUserName.Focus(); } if (result == DialogResult.No) { this.Dispose(); } } else { foreach (UserModel se in mysr) { currentUser = se.FullName.ToString(); deptCode = se.DeptCode.ToString(); departname = se.DepartmentNamr.ToString(); } List<UserValidationModel> myvalid = new List<UserValidationModel>(); myvalid = UserDA.DisplayUserValid(Usrname); myvalid.ToList(); foreach (UserValidationModel se in myvalid) { if(se.DeptCode.Equals(deptCodes.Text)) { validaccess = true; } } } if (validaccess.Equals(true)) { ErpMainMenuFrm mmf = new ErpMainMenuFrm(currentUser, deptCodes.Text, DeptNames.Text); mmf.ShowDialog(); validaccess = false; } else { MessageBox.Show("Sorry! You don't have rights to access this Department..." + "\n" + "\n" + "\nPlease contact your system ERP...", "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } }