Esempio n. 1
0
 public void GetSaveData <T>(SaveEnum key, T obj) where T : Transform
 {
     if (ES3.KeyExists(key.ToString()))
     {
         ES3.LoadInto <T>(key.ToString(), obj);
     }
 }
Esempio n. 2
0
 //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)));
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 8
0
 public T SetSaveData <T>(SaveEnum key, T value)
 {
     ES3.Save <T>(key.ToString(), value);
     return(value);
 }
Esempio n. 9
0
        //-----------------------------------------------------------------------------------------

        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);
        }