예제 #1
0
        public void Edit(DriverModel driverModel)
        {
            try
            {
                Driver driver = dbContext.Drivers.Where(x => x.Id == driverModel.Id).FirstOrDefault();

                if (driver == null)
                {
                    base.HandleError(driverModel, CommonLayer.LookUps.ErrorType.Critical, null, Resources.NotFound);
                    return;
                }

                if (Validate(driverModel))
                {
                    return;
                }

                DriverMapper.Map(dbContext, driverModel, driver);

                base.SaveChanges();

                driverModel.AddSuccess(Resources.DriverUpdatedSuccessfully, LookUps.SuccessType.Full);
            }
            catch (Exception ex)
            {
                base.HandleError(driverModel, CommonLayer.LookUps.ErrorType.Exception, ex);
                base.UndoUpdates();
            }
        }
예제 #2
0
        public void Delete(DriverModel driverModel)
        {
            try
            {
                if (ValidateDelete(driverModel))
                {
                    return;
                }

                Driver driver = dbContext.Drivers.Where(x => x.Id == driverModel.Id).FirstOrDefault();

                if (driver == null)
                {
                    base.HandleError(driverModel, CommonLayer.LookUps.ErrorType.Critical, null, Resources.NotFound);
                    return;
                }

                dbContext.Drivers.Remove(driver);

                base.SaveChanges();

                driverModel.AddSuccess(Resources.DriverDeletedSuccessfully, LookUps.SuccessType.Full);
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException)
            {
                base.HandleError(driverModel, CommonLayer.LookUps.ErrorType.Business, null, Resources.RefrenceDeleteError);
                base.UndoUpdates();
            }
            catch (Exception ex)
            {
                base.HandleError(driverModel, CommonLayer.LookUps.ErrorType.Exception, ex);
                base.UndoUpdates();
            }
        }
예제 #3
0
        public void Create(DriverModel driverModel)
        {
            try
            {
                if (Validate(driverModel))
                {
                    return;
                }

                using (var transaction = dbContext.Database.BeginTransaction())
                {
                    try
                    {
                        Driver driver = new Driver();
                        DriverMapper.Map(dbContext, driverModel, driver);

                        driver.Id = Guid.NewGuid().ToString();

                        dbContext.Drivers.Add(driver);

                        base.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }

                    driverModel.AddSuccess(Resources.DriverAddedSuccessfully, LookUps.SuccessType.Full);
                }
            }
            catch (Exception ex)
            {
                base.HandleError(driverModel, CommonLayer.LookUps.ErrorType.Exception, ex);
                base.UndoUpdates();
            }
        }