Exemple #1
0
        public static Result <T> BeginTransaction <T>(this iDrugsEntities context, Func <T> func, Type loggerType,
                                                      IsolationLevel isolationLevel = IsolationLevel.ReadCommitted)
        {
            var result = Try(() =>
            {
                using (var transaction = context.Database.BeginTransaction(isolationLevel))
                {
                    try
                    {
                        if (func == null)
                        {
                            throw new ArgumentNullException(nameof(func));
                        }

                        T res = func.Invoke();
                        transaction.Commit();

                        return(res);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }, loggerType);

            return(result);
        }
Exemple #2
0
        /// <summary>
        /// Transaction wraper to properly handle Commit and Rollback operation.
        /// </summary>
        /// <param name="action">
        /// Action that you want to perform on database, no need to defining Transaction logic.
        /// </param>
        public static Result BeginTransaction(this iDrugsEntities context, Action action, Type loggerType,
                                              IsolationLevel isolationLevel = IsolationLevel.ReadCommitted)
        {
            var result = Try(() => {
                using (var transaction = context.Database.BeginTransaction(isolationLevel))
                {
                    try
                    {
                        action?.Invoke();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }, loggerType);

            return(result);
        }
Exemple #3
0
 public DoctorEfRepo(iDrugsEntities context)
 {
     _context = context;
 }
Exemple #4
0
 public StatisticController(iDrugsEntities context)
 {
     _context = context;
 }
Exemple #5
0
 public WarehouseEfRepo(IMedicineRepo medicineRepo, iDrugsEntities context)
 {
     _medicineRepo = medicineRepo;
     _context      = context;
 }
Exemple #6
0
 public OrderEfRepo(iDrugsEntities context)
 {
     _context = context;
 }
Exemple #7
0
 public DrugStoreStockEfRepo(iDrugsEntities context)
 {
     _context = context;
 }
Exemple #8
0
 public ApothecaryEfRepo(iDrugsEntities context)
 {
     _context = context;
 }
Exemple #9
0
 public MedicineEfRepo(iDrugsEntities context)
 {
     _context = context;
 }
Exemple #10
0
 public PrescriptionEfRepo(iDrugsEntities context)
 {
     _context = context;
 }