コード例 #1
0
        private Int32 UpdateDrugDispenseDetails(Entities.DrugDispense drugDispense, DbTransaction dbTransaction)
        {
            var drugDispenseId = 0;

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.UpdateDrugDispense))
                {
                    database.AddInParameter(dbCommand, "@drug_dispense_id", DbType.Int32, drugDispense.DrugDispenseId);
                    database.AddInParameter(dbCommand, "@drug_dispense_date", DbType.String, drugDispense.DrugDispenseDate);
                    database.AddInParameter(dbCommand, "@working_period_id", DbType.Int32, drugDispense.WorkingPeriodId);
                    database.AddInParameter(dbCommand, "@modified_by", DbType.Int32, drugDispense.ModifiedBy);
                    database.AddInParameter(dbCommand, "@modified_by_ip", DbType.String, drugDispense.ModifiedByIP);

                    database.AddOutParameter(dbCommand, "@return_value", DbType.Int32, 0);

                    drugDispenseId = database.ExecuteNonQuery(dbCommand, dbTransaction);

                    if (database.GetParameterValue(dbCommand, "@return_value") != DBNull.Value)
                    {
                        drugDispenseId = Convert.ToInt32(database.GetParameterValue(dbCommand, "@return_value"));
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(drugDispenseId);
        }
コード例 #2
0
        private bool DeleteDrugDispenseDetails(Entities.DrugDispense drugDispense, DbTransaction dbTransaction)
        {
            var IsDrugDispenseDeleted = false;

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.DeleteDrugDispense))
                {
                    database.AddInParameter(dbCommand, "@drug_dispense_id", DbType.Int32, drugDispense.DrugDispenseId);
                    database.AddInParameter(dbCommand, "@deleted_by", DbType.Int32, drugDispense.DeletedBy);
                    database.AddInParameter(dbCommand, "@deleted_by_ip", DbType.String, drugDispense.DeletedByIP);

                    database.AddOutParameter(dbCommand, "@return_value", DbType.Int32, 0);

                    var result = database.ExecuteNonQuery(dbCommand, dbTransaction);

                    if (database.GetParameterValue(dbCommand, "@return_value") != DBNull.Value)
                    {
                        IsDrugDispenseDeleted = Convert.ToBoolean(database.GetParameterValue(dbCommand, "@return_value"));
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(IsDrugDispenseDeleted);
        }
コード例 #3
0
        public List <Entities.DrugDispense> GetPastDrugDispenseDatesByPatientId(Int32 patientId)
        {
            var drugDispenseDates = new List <Entities.DrugDispense>();

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.GetPastDrugDispenseDatesByPatientId))
                {
                    database.AddInParameter(dbCommand, "@patient_id", DbType.Int32, patientId);

                    using (IDataReader reader = database.ExecuteReader(dbCommand))
                    {
                        while (reader.Read())
                        {
                            var drugDispenseDate = new Entities.DrugDispense()
                            {
                                DrugDispenseId   = DRE.GetNullableInt32(reader, "drug_dispense_id", null),
                                DrugDispenseDate = DRE.GetNullableString(reader, "drug_dispense_date", null)
                            };

                            drugDispenseDates.Add(drugDispenseDate);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(drugDispenseDates);
        }
コード例 #4
0
        public List <Entities.DrugDispense> SearchDrguDispense(Entities.DrugDispense drugDispense)
        {
            var drugDispenses = new List <Entities.DrugDispense>();

            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.SearchDrugDispense))
                {
                    database.AddInParameter(dbCommand, "@financial_year", DbType.String, drugDispense.FinancialYear);
                    database.AddInParameter(dbCommand, "@first_name", DbType.String, drugDispense.FirstName);
                    database.AddInParameter(dbCommand, "@last_name", DbType.String, drugDispense.LastName);
                    database.AddInParameter(dbCommand, "@dispense_from_date", DbType.String, drugDispense.DrugDispenseFromDate);
                    database.AddInParameter(dbCommand, "@dispense_to_date", DbType.String, drugDispense.DrugDispenseToDate);

                    using (IDataReader reader = database.ExecuteReader(dbCommand))
                    {
                        while (reader.Read())
                        {
                            var drugUtlisation = new DataModel.DrugDispenseDrugUtilisation();

                            var drugDispenseDetails = new Entities.DrugDispense()
                            {
                                DrugDispenseId               = DRE.GetNullableInt32(reader, "drug_dispense_id", 0),
                                DrugDispenseNo               = DRE.GetNullableInt32(reader, "drug_dispense_no", null),
                                DrugDispenseDate             = DRE.GetNullableString(reader, "drug_dispense_date", null),
                                PatientId                    = DRE.GetNullableInt32(reader, "patient_id", null),
                                PatientCode                  = DRE.GetNullableInt32(reader, "patient_code", null),
                                PatientName                  = DRE.GetNullableString(reader, "full_name", null),
                                EmployerId                   = DRE.GetNullableInt32(reader, "employer_id", null),
                                EmployerCode                 = DRE.GetNullableInt32(reader, "employer_code", null),
                                EmployerName                 = DRE.GetNullableString(reader, "employer_name", null),
                                WorkingPeriodId              = DRE.GetNullableInt32(reader, "working_period_id", null),
                                FinancialYear                = DRE.GetNullableString(reader, "financial_year", null),
                                DrugDispenseDrugUtilisations = drugUtlisation.GetDrugUtilisationByDrugDispenseId(DRE.GetInt32(reader, "drug_dispense_id"))
                            };

                            drugDispenses.Add(drugDispenseDetails);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(drugDispenses);
        }
コード例 #5
0
 public Int32 SaveDrugDispenseDetails(Entities.DrugDispense drugDispense)
 {
     return(_drugDispense.SaveDrugDispenseDetails(drugDispense));
 }
コード例 #6
0
 public List <Entities.DrugDispense> SearchDrguDispense(Entities.DrugDispense drugDispense)
 {
     return(_drugDispense.SearchDrguDispense(drugDispense));
 }
コード例 #7
0
        public Int32 SaveDrugDispenseDetails(Entities.DrugDispense drugDispense)
        {
            var drugDispenseId = 0;

            var db = DBConnect.getDBConnection();

            using (DbConnection conn = db.CreateConnection())
            {
                conn.Open();

                using (DbTransaction dbTransaction = conn.BeginTransaction())
                {
                    try
                    {
                        var drugDispenseDrugUtilisationId = 0;

                        if (drugDispense != null)
                        {
                            if (drugDispense.DrugDispenseId == null || drugDispense.DrugDispenseId == 0)
                            {
                                drugDispenseId = AddDrugDispenseDetails(drugDispense, dbTransaction);
                            }
                            else if (drugDispense.ModifiedBy != null || drugDispense.ModifiedBy > 0)
                            {
                                drugDispenseId = UpdateDrugDispenseDetails(drugDispense, dbTransaction);
                            }
                            else if (drugDispense.IsDeleted == true)
                            {
                                var result = DeleteDrugDispenseDetails(drugDispense, dbTransaction);

                                if (result)
                                {
                                    drugDispenseId = (int)drugDispense.DrugDispenseId;
                                }
                                else
                                {
                                    drugDispenseId = -1;
                                }
                            }

                            if (drugDispenseId > 0)
                            {
                                if (drugDispense.IsDeleted == true)
                                {
                                    DrugDispenseDrugUtilisation drugUtilisationDB = new DrugDispenseDrugUtilisation();

                                    var result = drugUtilisationDB.DeleteDrugDispenseDrugUtilisationDetailsByDrugDispenseId((int)drugDispense.DrugDispenseId, (int)drugDispense.DeletedBy, drugDispense.DeletedByIP, dbTransaction);

                                    if (result)
                                    {
                                        drugDispenseDrugUtilisationId = (int)drugDispense.DrugDispenseId;
                                    }
                                }

                                if (drugDispense.DrugDispenseDrugUtilisations != null)
                                {
                                    if (drugDispense.DrugDispenseDrugUtilisations.Count > 0)
                                    {
                                        foreach (Entities.DrugDispenseDrugUtilisation drugUtilisation in drugDispense.DrugDispenseDrugUtilisations)
                                        {
                                            DrugDispenseDrugUtilisation drugUtilisationDB = new DrugDispenseDrugUtilisation();

                                            drugUtilisation.DrugDispenseId = drugDispenseId;

                                            drugDispenseDrugUtilisationId = drugUtilisationDB.SaveDrugDispenseDrugUtilisation(drugUtilisation, dbTransaction);

                                            if (drugDispenseDrugUtilisationId < 0)
                                            {
                                                drugDispenseId = -1;
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        if (drugDispenseId > 0)
                        {
                            dbTransaction.Commit();
                        }
                        else
                        {
                            dbTransaction.Rollback();
                        }
                    }
                    catch (Exception ex)
                    {
                        drugDispenseId = -1;
                        dbTransaction.Rollback();
                        throw ex;
                    }
                }

                return(drugDispenseId);
            }
        }