public Task <mechanicC> Add(dto_mechanic_newC _dto) { mechanicC _obj = null; if (_dto == null) { AddErrorMessage("Error", "Error", "New Mechanic Object Is Null"); return(Task.FromResult(_obj)); } if (string.IsNullOrEmpty(_dto.mechanic_name)) { AddErrorMessage("Error", "Error", "Mechanic Name Is Missing"); return(Task.FromResult(_obj)); } try { using (var _db = fnn.GetDbContext()) { _obj = new mechanicC() { mechanic_name = _dto.mechanic_name.Trim(), server_edate = fnn.GetServerDate(), fs_timestamp = fnn.GetUnixTimeStamp(), created_by_user_id = m_logged_user.user_id, }; _db.MECHANICS.Add(_obj); var _retVal = _db.SaveChangesWithDuplicateKeyDetected(); if (_retVal == null || _retVal.Value == true) { AddErrorMessage("Duplicate Key Error", "Duplicate Key Error", "You Have Entered A Duplicate Mechanic Name"); _obj = null; return(Task.FromResult(_obj)); } fnn.CreateCreditor(_obj.mechanic_id, _obj.mechanic_name, _obj.phone_no, FleetManager.Shared.em.creditor_typeS.mechanic, _db); } } catch (SqlException ex) { LoggerX.LogException(ex); } catch (DbException ex) { LoggerX.LogException(ex); } catch (Exception ex) { LoggerX.LogException(ex); } return(Task.FromResult(_obj)); }
public Task <bool> Delete(int id) { mechanicC _existing = null; bool _record_deleted = false; try { using (var _db = fnn.GetDbContext()) { _existing = _db.MECHANICS.Where(e => e.mechanic_id == id & e.delete_id == 0).SingleOrDefault(); if (_existing == null) { _record_deleted = false; AddErrorMessage("Delete Error", "Delete Error", "Could Not Find Mechanic Object"); return(Task.FromResult(_record_deleted)); } else { if (_existing.mechanic_id == -100) { _record_deleted = false; AddErrorMessage("Delete Error", "Delete Error", "Cannot Delete System Mechanic"); return(Task.FromResult(_record_deleted)); } var _has_dependency = DbHelper.HasDbDependencies(_db.Database, new string[] { DbHelper.GetTableSchemaName(_table_name) }, DbHelper.GetDbSchema(), new string[] { "mechanic_id" }, id); if (_has_dependency == null || _has_dependency == true) { AddErrorMessage("Delete Error", "Delete Error", "Unable To Delete Record Because It Has System Dependencies."); _record_deleted = false; return(Task.FromResult(_record_deleted)); } else { var _result = DbHelper.DeleteRecordWithDeleteId(new DbHelperDeleteRecordC() { pk_col_name = "mechanic_id", pk_id = _existing.mechanic_id, table_name = _table_name.ToDbSchemaTable() }, _db); if (_result == null || _result == false) { AddErrorMessage("Delete Error", "Delete Error", "Error Encountered While Trying To Delete Record"); _record_deleted = false; return(Task.FromResult(_record_deleted)); } else { _record_deleted = true; _db.SaveChanges(); } } } } } catch (SqlException ex) { LoggerX.LogException(ex); } catch (DbException ex) { LoggerX.LogException(ex); } catch (Exception ex) { LoggerX.LogException(ex); } if (_record_deleted) { Task.Run(() => { if (_existing.cr_account_id > 0) { fnn.DeleteCreditor(_existing.cr_account_id); } }); } return(Task.FromResult(_record_deleted)); }
public Task <mechanicC> Update(dto_mechanic_updateC _dto) { mechanicC _existing = null; if (_dto == null) { AddErrorMessage("Update Error", "Save Error", "Mechanic Object Is Null!"); _existing = null; return(Task.FromResult(_existing)); } if (_dto.mechanic_id == 0) { AddErrorMessage("Error", "Error", "Mechanic Id Is Missing"); return(Task.FromResult(_existing)); } if (string.IsNullOrEmpty(_dto.mechanic_name)) { AddErrorMessage("Error", "Error", "Mechanic Name Is Missing"); return(Task.FromResult(_existing)); } try { using (var _trans = new ZUpdateContext()) { _existing = _trans.Context.MECHANICS.Where(e => e.mechanic_id == _dto.mechanic_id & e.delete_id == 0).FirstOrDefault(); if (_existing == null) { _existing = null; AddErrorMessage("Update Error", "Save Error", "Unable To Find Mechanic Object"); return(Task.FromResult(_existing)); } if (_existing.mechanic_id == -100) { _existing = null; AddErrorMessage("Update Error", "Update Error", "Cannot Update System Mechanic"); return(Task.FromResult(_existing)); } if (_existing.mechanic_name.ToLower() != _dto.mechanic_name.ToLower()) { var _ret = DbHelper.UpdatePrimaryKeyColumn(new DbHelperPrimarykeyUpdateC { col_to_update = "mechanic_name", new_col_value = _dto.mechanic_name.Trim().ToProperCase(), table_name = DbHelper.GetTableSchemaName(_table_name), pk_col_name = "mechanic_id", pk_id = _dto.mechanic_id }, _trans.Context); if (_ret == null || _ret.Value == false) { AddErrorMessage("Error", "Update Error", "Mechanic Name Already Exists"); _existing = null; _trans.RollBack(); return(Task.FromResult(_existing)); } else { _trans.Context.SaveChanges(); _existing = _trans.Context.MECHANICS.Where(e => e.mechanic_id == _dto.mechanic_id & e.delete_id == 0).FirstOrDefault(); } } SimpleMapper.PropertyMap(_dto, _existing); if (_existing.cr_account_id > 0) { string _sql = string.Format("update {0} set cr_account_name=@v1,cr_phone_no=@v2,fs_timestamp=@v3 where cr_account_id=@v4 and delete_id=0", FleetManager.DbBase.tableNames.creditor_tb.ToDbSchemaTable()); _trans.Context.Database.Connection.Execute(_sql, new { v1 = _existing.mechanic_name, v2 = _existing.phone_no, v3 = fnn.GetUnixTimeStamp(), v4 = _existing.cr_account_id }, _trans.Context.Database.GetDbTransaction()); _trans.Context.SaveChanges(); } _trans.Context.MECHANICS.AddOrUpdateExtension(_existing); _trans.Context.SaveChanges(); _trans.Commit(); return(Task.FromResult(_existing)); } } catch (SqlException ex) { LoggerX.LogException(ex); } catch (DbException ex) { LoggerX.LogException(ex); } catch (Exception ex) { LoggerX.LogException(ex); } return(Task.FromResult(_existing)); }