public void GetSaveData <T>(SaveEnum key, T obj) where T : Transform { if (ES3.KeyExists(key.ToString())) { ES3.LoadInto <T>(key.ToString(), obj); } }
//TODO 不同的存储文件 public T GetSaveData <T>(SaveEnum key) { if (ES3.KeyExists(key.ToString())) { return(ES3.Load <T>(key.ToString())); } return(ES3.Load <T>(key.ToString(), default(T))); }
public SaveEnum AddContact(Contact contactModel) { SaveEnum SaveEnum = SaveEnum.Error; try { ContactsList.Add(contactModel); SaveEnum = SaveEnum.Success; return(SaveEnum); } catch (Exception ex) { return(SaveEnum.Error); } }
public HttpResponseMessage Put([FromBody] ContactModel contactModel) { SaveEnum SaveEnum = SaveEnum.NotFound; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); try { if (contactModel != null && contactModel.Id > 0 && !string.IsNullOrEmpty(contactModel.FirstName) && !string.IsNullOrEmpty(contactModel.Email)) { string email = contactModel.Email; if (contactModel.IsEmailAlreadyExist(email, contactModel.Id)) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.Conflict, "Email ID exist."); return(httpResponseMessage); } SaveEnum = contactModel.UpdateContact(contactModel); if (SaveEnum == SaveEnum.Success) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK); httpResponseMessage.Headers.Location = new Uri(Request.RequestUri + "/" + (contactModel.Id).ToString()); } else if (SaveEnum == SaveEnum.NotFound) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.NotFound); } else if (SaveEnum == SaveEnum.Error) { httpResponseMessage = Request.CreateResponse(404); } return(httpResponseMessage); } else { httpResponseMessage = Request.CreateResponse(HttpStatusCode.BadRequest); return(httpResponseMessage); } } catch (Exception ex) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.BadRequest); httpResponseMessage.ReasonPhrase = ex.Message.ToString(); throw new HttpResponseException(httpResponseMessage); } }
public SaveEnum RemoveContact(int Id) { SaveEnum SaveEnum = SaveEnum.NotFound; try { var contactData = ContactsList.FirstOrDefault((p) => p.Id == Id); if (contactData != null) { ContactsList.Remove(contactData); SaveEnum = SaveEnum.Success; } return(SaveEnum); } catch (Exception ex) { return(SaveEnum.Error); } }
public SaveEnum UpdateContact(Contact contactModel) { SaveEnum SaveEnum = SaveEnum.NotFound; try { var product = ContactsList.FirstOrDefault((p) => p.Id == contactModel.Id); if (product != null) { ContactsList.Remove(product); ContactsList.Add(contactModel); SaveEnum = SaveEnum.Success; } return(SaveEnum); } catch (Exception ex) { return(SaveEnum.Error); } }
public HttpResponseMessage Delete(int Id) { SaveEnum SaveEnum = SaveEnum.NotFound; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); try { if (Id > 0) { SaveEnum = contactModel.RemoveContact(Id); if (SaveEnum == SaveEnum.Success) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK); httpResponseMessage.Headers.Location = new Uri(Request.RequestUri + "/" + (contactModel.Id).ToString()); } else if (SaveEnum == SaveEnum.NotFound) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.NotFound); } else if (SaveEnum == SaveEnum.Error) { httpResponseMessage = Request.CreateResponse(404); } return(httpResponseMessage); } else { httpResponseMessage = Request.CreateResponse(HttpStatusCode.BadRequest); return(httpResponseMessage); } } catch (Exception ex) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.BadRequest); httpResponseMessage.ReasonPhrase = ex.Message.ToString(); throw new HttpResponseException(httpResponseMessage); } }
public T SetSaveData <T>(SaveEnum key, T value) { ES3.Save <T>(key.ToString(), value); return(value); }
//----------------------------------------------------------------------------------------- protected SaveEnum ExecuteSaveˡ(T row, SqlConnection conn, SqlTransaction tran, List <SqlParameter> parameters, string insert, string insertIdentity, string update, string delete, string whereSavePK, bool identityTable, bool identityProvided, out object identityID) { string sql = ""; CodeGenEtc.Sql = ""; insert = string.Format(insert, this.TableFqˡ); insertIdentity = string.Format(insertIdentity, this.TableFqˡ); update = string.Format(update, this.TableFqˡ); delete = string.Format(delete, this.TableFqˡ); SaveEnum result = SaveEnum.NoSave; identityID = null; try { if (row.IsDirtyˡ) // ok - do something { } else if (row.MarkForDeletionˡ) // clean object but required delete { } else { return(result); // do nothing } if (row.IsSavedˡ) // already saved - dont save again { throw new ApplicationException("This object has already been saved."); } if (row.IsDeletedˡ) // already deleted { throw new ApplicationException("This object has already been deleted."); } if (row.MarkForDeletionˡ) // cant delete memory object { if (!row.IsFromDatabaseˡ) { throw new ApplicationException("This object cannot be deleted because it is not from the database."); } } // ! row._IsSaved // ! row._IsDeleted // IsDirty || row._MarkForDeletion if (row.MarkForDeletionˡ) // delete has higher precedence { result = SaveEnum.Delete; sql = delete + whereSavePK; } else if (row.IsFromDatabaseˡ) { result = SaveEnum.Update; sql = update + whereSavePK; } else { result = SaveEnum.Insert; if (identityTable) { if (identityProvided) { sql = insertIdentity + " ; select scope_identity() "; } else { sql = insert + " ; select scope_identity() "; } } else { sql = insert; } } CodeGenEtc.Sql = sql; // do it using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.CommandTimeout = CodeGenEtc.Timeout; if (tran != null) { if (cmd.Transaction == null) { cmd.Transaction = tran; } } cmd.Parameters.AddRange(parameters.ToArray()); if (result == SaveEnum.Delete) // delete has higher precedence { int rowsEffected = cmd.ExecuteNonQuery(); if (rowsEffected != 1) { throw new ApplicationException(string.Format("{0} rows deleted, expected exactly 1 to be deleted.", rowsEffected)); } } else if (result == SaveEnum.Update) { if (update.Length > 0) // only update if there are fields to update { int rowsEffected = cmd.ExecuteNonQuery(); if (rowsEffected != 1) { throw new ApplicationException(string.Format("{0} rows updated, expected exactly 1 to be updated.", rowsEffected)); } } } else if (result == SaveEnum.Insert) { if (identityTable) { object id = cmd.ExecuteScalar(); if (id == null) { throw new ApplicationException("0 rows inserted, expected exactly 1 to be inserted."); } identityID = id; } else { int rowsEffected = cmd.ExecuteNonQuery(); if (rowsEffected != 1) { throw new ApplicationException(string.Format("{0} rows inserted, expected exactly 1 to be inserted.", rowsEffected)); } } } else { return(SaveEnum.NoSave); } } // save was good if (row.MarkForDeletionˡ) { row.IsDeletedˡ = true; } row.IsSavedˡ = true; row.IsDirtyˡ = false; row.MarkForDeletionˡ = false; } catch (Exception ex) { throw new CodeGenSaveException(ex.Message, ex, CodeGenEtc.Sql, parameters, row); } return(result); }