public object Delete(int id)
        {
            Message msg = new Message {
                Error = false
            };

            try
            {
                Directory_City item = _dbContext.Directory_City.SingleOrDefault(x => x.ID == id);
                if (item != null)
                {
                    _dbContext.Directory_City.Remove(item);
                    _dbContext.SaveChanges();
                    msg.Title = City_Message_DeleteSuccess;
                }
                else
                {
                    msg.Title = City_Message_NotExistItem;
                    msg.Error = true;
                }
            }
            catch (Exception ex)
            {
                msg.Title = City_Message_DeleteError;
                msg.Error = true;
                msg.Data  = ex.ToString();
            }
            return(Json(msg, JsonRequestBehavior.AllowGet));
        }
        public object Insert(List <FileModel> files, Directory_City item)
        {
            Message msg = new Message {
                Error = false
            };

            try
            {
                if (getNotExistsCityWhenInsert(item.City))
                {
                    if (files == null)
                    {
                        item.FileName = null;
                        files         = new List <FileModel>();
                    }
                    foreach (var file in files)
                    {
                        var filecontent = file.contentAsBase64String;
                        var filetype    = file.contentType;
                        var filename    = file.fileName;

                        var bytes = Convert.FromBase64String(filecontent);
                        item.Attach   = bytes;
                        item.FileName = file.fileName;
                    }
                    item.CreatedBy    = ((account)Session["informationOfAccount"]).Account1;
                    item.CreatedDate  = DateTime.Now;
                    item.ModifiedBy   = ((account)Session["informationOfAccount"]).Account1;
                    item.ModifiedDate = DateTime.Now;
                    _dbContext.Directory_City.Add(item);
                    _dbContext.SaveChanges();

                    msg.Title = City_Message_InsertSuccess;
                }
                else
                {
                    msg.Title = City_Message_ExistsedCity;
                    msg.Error = true;
                }
            }
            catch (Exception ex)
            {
                msg.Title = City_Message_InsertErrror;
                msg.Error = true;
                msg.Data  = ex.ToString();
            }
            return(Json(msg, JsonRequestBehavior.AllowGet));
        }
        public object Update(List <FileModel> files, Directory_City item)
        {
            Message msg = new Message {
                Error = false
            };

            try
            {
                if (getNotExistsCityWhenUpdate(item.ID, item.City))
                {
                    if (files == null)
                    {
                        files = new List <FileModel>();
                    }
                    _dbContext.Directory_City.Add(item);

                    _dbContext.Entry(item).State = EntityState.Modified;
                    if (files.Count > 0)
                    {
                        // trường hợp chưa có file và thêm mới file
                        foreach (var file in files)
                        {
                            var filecontent = file.contentAsBase64String;
                            var filetype    = file.contentType;
                            var filename    = file.fileName;
                            var bytes       = Convert.FromBase64String(filecontent);
                            item.Attach   = bytes;
                            item.FileName = file.fileName;
                        }
                    }
                    else if (item.FileName == null && files.Count == 0)
                    {
                        // trường hợp xóa file đã tồn tại và không thêm file mới vào
                        item.FileName = null;
                        item.Attach   = null;
                    }
                    else if (item.FileName != null && files.Count == 0)
                    {
                        // trường hợp không thay đổi gì cả
                        _dbContext.Entry(item).Property(x => x.Attach).IsModified   = false;
                        _dbContext.Entry(item).Property(x => x.FileName).IsModified = false;
                    }
                    _dbContext.Entry(item).Property(x => x.ID).IsModified          = false;
                    _dbContext.Entry(item).Property(x => x.History).IsModified     = false;
                    _dbContext.Entry(item).Property(x => x.CreatedBy).IsModified   = false;
                    _dbContext.Entry(item).Property(x => x.CreatedDate).IsModified = false;
                    item.ModifiedBy   = ((account)Session["informationOfAccount"]).Account1;
                    item.ModifiedDate = DateTime.Now;
                    _dbContext.SaveChanges();

                    msg.Title = City_Message_UpdateSuccess;
                }
                else
                {
                    msg.Title = City_Message_ExistsedCity;
                    msg.Error = true;
                }
            }
            catch (Exception ex)
            {
                msg.Title = City_Message_UpdateError;
                msg.Error = true;
                msg.Data  = ex.ToString();
            }
            return(Json(msg, JsonRequestBehavior.AllowGet));
        }