public OdometreStatus GetOdometreStatusByNameOrInsert(string _name)
        {
            try
            {
                using (var context = new VeraEntities())
                {
                    var OdometreStatus = context.OdometreStatus.FirstOrDefault(x => x.Name.Trim() == _name.Trim() && x.Status > 0);

                    if (OdometreStatus == null)
                    {
                        OdometreStatus = new OdometreStatus()
                        {
                            Name   = _name.Trim(),
                            Status = 1
                        };

                        context.OdometreStatus.Add(OdometreStatus);
                        context.SaveChanges();
                        return(OdometreStatus);
                    }

                    return(OdometreStatus);
                }
            }
            catch (Exception exc)
            {
                throw exc;
            }
        }
 private void UpdateObject(OdometreStatus _newOdometreStatus, ref OdometreStatus _oldOdometreStatus)
 {
     try
     {
         foreach (PropertyInfo OdometreStatusPropInfo in _newOdometreStatus.GetType().GetProperties().ToList())
         {
             _oldOdometreStatus.GetType().GetProperty(OdometreStatusPropInfo.Name).SetValue(_oldOdometreStatus, _newOdometreStatus.GetType().GetProperty(OdometreStatusPropInfo.Name).GetValue(_newOdometreStatus));
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
 public OdometreStatus AddNewOdometreStatus(OdometreStatus _OdometreStatus)
 {
     try
     {
         using (var context = new VeraEntities())
         {
             context.OdometreStatus.Add(_OdometreStatus);
             int numOfInserted = context.SaveChanges();
             return(numOfInserted > 0 ? _OdometreStatus : null);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        public OdometreStatus UpdateOdometreStatus(OdometreStatus _OdometreStatus)
        {
            try
            {
                using (var context = new VeraEntities())
                {
                    var oldOdometreStatus = context.OdometreStatus.FirstOrDefault(u => u.Id == _OdometreStatus.Id);
                    if (oldOdometreStatus != null)
                    {
                        UpdateObject(_OdometreStatus, ref oldOdometreStatus);
                        var numberOfUpdatedOdometreStatus = context.SaveChanges();
                        return(numberOfUpdatedOdometreStatus > 0 ? _OdometreStatus : null);
                    }

                    return(null);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }